写一个shell脚本,查询eef进程的pid,并执行top -n 600 -b -d 60 -p pid >/tmp/test。txt
时间: 2023-12-10 18:40:04 浏览: 88
linux shell 根据进程名获取pid的实现方法
5星 · 资源好评率100%
可以尝试以下脚本:
```bash
#!/bin/bash
# 查询 eef 进程的 pid
pid=$(ps aux | grep eef | grep -v grep | awk '{print $2}')
# 执行 top 命令,并将结果输出到 /tmp/test.txt
top -n 600 -b -d 60 -p $pid >/tmp/test.txt
```
解释一下:
首先使用 `ps aux` 命令查找所有进程,然后使用 `grep` 命令找到包含 eef 的进程,再通过 `awk` 命令获取进程的 pid。
然后使用 `top` 命令监控进程的运行情况,其中 `-n` 参数指定 top 命令执行的次数,本例中是 600 次;`-b` 参数表示以批处理模式运行 top 命令,不需要交互式输入;`-d` 参数表示 top 命令每次更新的时间间隔,本例中是 60 秒;`-p` 参数指定要监控的进程 pid。最后,将 top 命令的输出结果重定向到 `/tmp/test.txt` 文件。
阅读全文