使用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