我在timeout
bash 脚本中使用该实用程序在给定时间(例如,timeout -s SIGINT 500s ./my_script
)运行命令。我想监视进程myscript
以查看它使用了多少 CPU/内存(例如使用htop -p <pid>
命令)。
我知道当一个进程在后台启动时(使用),我可以通过检索变量&
以编程方式获取它的 pid 。$!
问题是超时会产生一个新的子进程,并且使用$!
变量我得到“超时的 pid”,而不是 myscript 的 pid。
如何检索超时产生的子进程的 pid?
给
timeout
一个启动脚本的机会,然后询问ps
其父进程是timeout
: