写一个shell脚本,持续查询eef进程的pid,直到找到eef进程,并执行top -n 600 -b -d 60 -p pid >/tmp/test 自动结束运行
时间: 2023-12-10 08:42:28 浏览: 97
可以尝试使用以下脚本:
```shell
#!/bin/bash
# 定义要查询的进程名
proc_name="eef"
# 循环查询进程pid
while true
do
pid=$(pgrep "$proc_name")
# 如果找到了进程pid,则执行 top 命令并退出循环
if [ -n "$pid" ]
then
top -n 600 -b -d 60 -p "$pid" >/tmp/test
break
fi
# 每隔 1 秒钟查询一次
sleep 1
done
```
脚本的核心部分是使用 `pgrep` 命令查询进程的 pid,然后使用 `top` 命令监控该进程。为了让 `top` 命令运行 10 小时,我们设置了 `-n 600` 参数,表示运行 600 次,每次间隔 60 秒钟(即 `-d 60` 参数),并将输出重定向到 `/tmp/test` 文件。脚本会在找到进程并执行完 `top` 命令后自动退出。
相关问题
写一个shell脚本,持续查询eef进程的pid,直到找到eef进程,并执行top -n 600 -b -d 60 -p pid >/tmp/test
可以尝试以下脚本:
```bash
#!/bin/bash
# 定义需要查询的进程名
process_name="eef"
# 循环查询进程pid并执行top命令
while true
do
# 查询进程pid
pid=$(pgrep $process_name)
# 如果找到了进程pid,则执行top命令
if [ ! -z "$pid" ]
then
top -n 600 -b -d 60 -p $pid >/tmp/test
break
fi
# 暂停5秒后继续查询
sleep 5
done
```
脚本中使用了 `pgrep` 命令来查询进程pid,如果找到了进程pid,则执行top命令,并将结果输出到 `/tmp/test` 文件中。如果没有找到进程,则暂停5秒后继续查询。
写一个shell脚本,持续查询eef进程的pid,直到找到eef进程,并执行top -n 600 -b -d 60 -p pid >/tmp/test。txt 如果检测到eef不存在了,就结束top命令
可以使用如下的 shell 脚本实现:
```bash
#!/bin/bash
# 持续查询 eef 进程的 pid
while true; do
pid=$(pgrep eef)
if [ -n "$pid" ]; then
# 执行 top 命令,输出到 /tmp/test.txt
top -n 600 -b -d 60 -p "$pid" >/tmp/test.txt
else
# 如果不存在 eef 进程,结束 top 命令
break
fi
done
```
该脚本会不断查询 eef 进程的 pid,直到找到为止。如果找到了 eef 进程,就执行 top 命令,并将输出重定向到 /tmp/test.txt 文件中。如果 eef 进程不存在了,就会跳出循环,结束 top 命令。
阅读全文