top_shell.sh脚本内容如下:#!/bin/bash # 持续查询 eef 进程的 pid while true do #查询进程pid eef_pid=$(pgrep eef) if [ -n "$pid" ]; then # 执行 top 命令,输出到 /tmp/test.txt top -b -d 60 -p "$eef_pid" >/tmp/test.txt # 记录top命令的进程号 top_pid=$! break fi #暂停1s后继续查询 sleep 1 done # 检测eef进程是否存在 while [[ -e /proc/$eef_pid ]] do sleep 1 done # 如果eef进程不存在了,就结束top命令 kill -9 $top_pid exit 如何修改能够使top_shell.sh执行完毕后自动退出
时间: 2023-12-14 10:36:53 浏览: 66
用于终止高CPU进程、长时间运行的进程和过多消耗内存的进程的Bash脚本。_Shell_下载.zip
可以将最后的kill命令和exit命令删除,这样脚本就会执行完毕后自动退出。修改后的脚本内容如下:
```
#!/bin/bash
# 持续查询 eef 进程的 pid
while true
do
#查询进程pid
eef_pid=$(pgrep eef)
if [ -n "$pid" ]; then
# 执行 top 命令,输出到 /tmp/test.txt
top -b -d 60 -p "$eef_pid" >/tmp/test.txt &
# 记录top命令的进程号
top_pid=$!
break
fi
#暂停1s后继续查询
sleep 1
done
# 检测eef进程是否存在
while [[ -e /proc/$eef_pid ]]
do
sleep 1
done
# 如果eef进程不存在了,就结束top命令
kill -9 $top_pid
```
这样,脚本会在执行完毕后自动退出。
阅读全文