写一个shell脚本,使top -b -d 60 -p "$eef_pid" >/tmp/test.txt在eef进程结束后能自动停止
时间: 2023-12-14 16:37:39 浏览: 106
:hammer_and_wrench: | 我所有爱人的系统工具
以下是一个简单的脚本实现:
```bash
#!/bin/bash
# 设置 eef 进程的 PID
eef_pid=1234
# 启动 top 命令并将输出重定向到文件
top -b -d 60 -p "$eef_pid" >/tmp/test.txt &
# 获取 top 命令的PID
top_pid=$!
# 等待 eef 进程结束
while kill -0 "$eef_pid" 2>/dev/null; do
sleep 1
done
# 终止 top 命令
kill "$top_pid"
```
脚本中的 `kill -0 "$eef_pid" 2>/dev/null` 用于检查 eef 进程是否存在,如果不存在则退出循环。 `kill` 命令发送信号给进程,但当信号为 0 时,它只是检查进程是否存在而不会发送任何信号。因此,检查进程是否存在时,使用信号0比发送其他信号更好,因为它不会影响进程状态,也不会产生任何副作用。
阅读全文