使用shell脚本中的strace监视所有正在运行的进程

时间:2016-02-12 14:11:22

标签: linux shell strace

我想使用strace监控所有正在运行的进程,当进程结束时,应将strace的输出发送到文件。

如何查找每个正在运行的proc PID。我还想在输出文件中包含进程名称。

2 个答案:

答案 0 :(得分:0)

value

1725将是您要监视的进程的PID(您可以在" ps-firefox-bin"中找到PID,对于示例中的firefox)

firefox_trace.txt将是输出文件!

获得的方法是找到每个正在运行的proc PID,并使用该命令将它们写入输出文件中!

考虑doc, -p pid

  

使用进程ID pid附加到进程并开始跟踪。该   可以通过键盘中断信号随时终止跟踪(   CTRL -C)。 strace将通过从跟踪中脱离来做出回应   进程让它(它们)继续运行。多个-p选项   除命令外,还可用于附加最多32个进程   (如果给出至少一个-p选项,则该选项是可选的。)

答案 1 :(得分:0)

使用-o将输出存储到文件,或2>&1将标准错误重定向到输出,以便您可以对其进行过滤(grep)或将其重定向到文件({{ 1}})。

要在不知道PID但名称的情况下监控进程,可以使用> file命令,例如

pgrep

其中strace -p $(pgrep command) -o file.out 是您的流程名称(例如commandphp等)。

要了解有关参数的详情,请查看man strace