帮我写一个自动杀死占用cpu过高进程的脚本
时间: 2024-03-03 22:24:20 浏览: 19
好的,我可以为您编写一个自动杀死占用 CPU 过高进程的脚本。以下是 Python 代码示例:
```
import psutil
for process in psutil.process_iter():
try:
process_cpu_percent = process.cpu_percent(interval=1.0)
if process_cpu_percent > 80.0: # 80% 的CPU使用率
process.kill()
print(f"已杀死进程: {process.name()} (PID: {process.pid})")
except (psutil.NoSuchProcess, psutil.AccessDenied, psutil.ZombieProcess):
pass
```
请注意,此脚本具有潜在的风险,因为它会杀死 CPU 使用率过高的进程,这可能会导致系统崩溃或数据丢失。使用此脚本前,请确保您已备份重要数据,并仔细考虑后果。
相关问题
帮我写一个排查cpu飙高的shell脚本
好的,我可以帮您写一个排查 CPU 飙高的 shell 脚本。以下是示例代码:
```
#!/bin/bash
# 获取 CPU 使用率最高的进程
top_process=$(ps aux --sort=-%cpu | awk 'NR==2{print $2}')
# 获取该进程的 CPU 使用率
top_cpu=$(ps -p $top_process -o %cpu | tail -n 1)
# 如果 CPU 使用率超过 80%,则输出警告信息
if (( $(echo "$top_cpu > 80" | bc -l) )); then
echo "警告:CPU 使用率过高,最高的进程是 $top_process,CPU 使用率为 $top_cpu%。"
fi
```
您可以将此脚本保存为一个文件,例如 `check_cpu.sh`,然后在终端中运行 `bash check_cpu.sh` 来执行它。如果 CPU 使用率超过 80%,则会输出警告信息。
写一个shell脚本定期杀死一个进程
可以使用以下脚本来定期杀死一个进程:
```
#!/bin/bash
# 设置要杀死的进程名
process_name="your_process_name"
# 循环执行,每隔一定时间杀死进程
while true
do
# 查找进程是否存在
pid=$(ps -ef | grep "$process_name" | grep -v grep | awk '{print $2}')
if [ -n "$pid" ]
then
# 杀死进程
kill -9 $pid
echo "Process $process_name has been killed."
else
echo "Process $process_name is not running."
fi
# 等待一定时间
sleep 3600 # 每隔一小时执行一次
done
```
将上述脚本保存为一个文件,比如 `kill_process.sh`,然后使用 `chmod +x kill_process.sh` 命令将其变为可执行文件。接着在终端中执行 `./kill_process.sh` 即可开始定期杀死进程。