使用strace的监视所有正在运行的过程中,我想监视使用strace
,当一个进程结束strace
的输出应被发送到一个文件中的所有正在运行的进程。在shell脚本
,以及如何找到每个正在运行的进程内PID。我也想在输出文件中包含进程名称。
使用strace的监视所有正在运行的过程中,我想监视使用strace
,当一个进程结束strace
的输出应被发送到一个文件中的所有正在运行的进程。在shell脚本
,以及如何找到每个正在运行的进程内PID。我也想在输出文件中包含进程名称。
$ sudo strace -p 1725 -o firefox_trace.txt
$ tail -f firefox_trace.txt
1725将要监视(你可以找到与“PS -C火狐斌”的PID,为Firefox中的例子)
的工艺在PID和firefox_trace.txt会成为输出文件!
的方式得到了是要找到每个正在运行的进程内PID,然后使用命令将它们写在输出文件!
考虑doc, -p PID
附加到进程与进程ID PID,并开始跟踪。可以随时通过键盘中断信号( CTRL-C)终止跟踪。 strace将通过脱离被跟踪的 进程来离开它(他们)继续运行。多个-p选项 除了命令 (如果至少给出一个-p选项,则这是可选的)可用于连接多达32个进程。
如何找到每个正在运行的proc PID。我也想在输出文件中包含进程名称。 –
@ R.Anu目前无法验证,但我相信“ps aux”应该会为您提供完整的procs列表......然后尝试用正则表达式或其他方法将其剪切,以获取proc的PID列表! –
使用-o
到输出存储到文件,或2>&1
标准错误重定向到输出,这样你就可以将其过滤(grep
),或者它重定向到文件(> file
)。
要监视进程不知道它的PID,但名称,你可以使用pgrep
命令,例如
strace -p $(pgrep command) -o file.out
其中command
是您的处理(例如php
,Chrome
等)的名称。
要了解更多有关参数,检查man strace
。
“我想监视使用'strace' ... _all_正在运行的进程”不,你不知道。真。如果仅仅是因为运行'strace'会创建一个新的进程,然后你会尝试监视,这将启动另一个进程,但是还有其他重要的原因,这也是一个坏主意。您可能需要完善一下您需要完成的任务的定义。 – twalberg