無法過濾Etime,請幫助我找出運行超過24小時的進程/命令。
-1
A
回答
0
ps -ef
的ps -ef
等效爲ps -eo uid,pid,ppid,c,stime,tty,time,cmd
etime ELAPSED elapsed time since the process was started, in the
form [[DD-]hh:]mm:ss.
start STARTED time the command started. If the process was started
less than 24 hours ago, the output format is
"HH:MM:SS", else it is " <mm dd" (where Mmm is a
three-letter month name). See also lstart, bsdstart,
start_time, and stime.
0
你可以嘗試這樣就知道多久進程已運行。
ps -o etime= -p "your_pid"
有關國旗-o etime
的信息它提供了經過的時間。
這會返回經過時間
或另一種方式是
ps -eo pid,comm,cmd,start,etime | grep -iv <your_pid>
+1
我還沒有更新我的工作代碼,請在下面找到: - ps -eo pid,etime,cmd | grep python | awk'substr($ 0,9,1)==「 - 」'| awk {'print $ 1'} – Challa
0
試用一下這個:
ps -eo etimes,cmd | awk '{if ($1 >= 86400) print $2}'
etimes
將返回在幾秒鐘的時間,因此, ,你可以使用>=
所需的時間
您可以擴展此搜索和例如只殺所需的過程:
kill $(ps -eo etimes,pid,cmd | awk '{if ($3 == "sleep" && $1 >= 30) print $2}')
在這種情況下,它會搜索cmd
睡眠,只會殺死它,如果已經運行了多個過程運行時間超過30秒。
要檢查cmd
開始用繩子,你可以使用:
ps -eo etimes,pid,cmd | awk '{if ($3~/^sle/ && $1 >= 30) print $2}
的$3~/^sle/
將檢查命令啓動sle
。
希望這可以幫助你或給你一些想法。
0
使用命令
alp ❱ ps -e -o etime,pid
ELAPSED PID
03:10:06 1
03:10:06 2
03:10:06 3
03:10:06 5
03:10:06 7
03:10:06 8
03:10:06 9
03:10:06 10
03:10:06 11
etime
的ps
在此格式,因爲你需要24
很長一段時間,我們可以試試(我用03
,因爲我沒有一個24
長的時間過程):
alp ❱ ps -e -o etime,pid | grep -P '^ +03:..:..'
03:14:16 1
03:14:16 2
03:14:16 3
03:14:16 5
03:14:16 7
03:14:16 8
03:14:16 9
03:14:16 10
03:14:16 11
現在我們可以消除(=擺脫)那些時間:
alp ❱ ps -e -o etime,pid | grep -Po '^ +03:..:..\K +\d+'
1
2
3
5
7
8
9
10
11
,最終這個輸出傳遞給xargs
alp ❱ ps -e -o etime,pid | grep -Po '^ +03:..:..\K +\d+' | xargs -I xxx echo xxx
1
2
3
5
7
8
9
10
11
因此,你應該在的地方使用正則表達式部分24:..:..
和kill
或echo
相關問題
- 1. 運行bash命令並在超過特定時間時將它殺死
- 2. 通過PID在Erlang中殺死進程
- 3. 查詢運行時間超過命令超時SSIS
- 4. 線程殺死超時
- 5. 殺死運行超過兩分鐘的winword進程
- 6. 阿帕奇殺死很長時間的運行過程
- 7. 如何通過Runtime.exec()命令在java中殺死進程時獲得異常?
- 8. 如果運行時間過長,間歇性無法殺死進程
- 9. 殺死進程殺死其他進程
- 10. 殺死進程
- 11. 殺死長時間運行失控程序的程序
- 12. 超時並殺死並行matlab執行
- 13. 如何通過Pro * C殺死長時間運行的查詢?
- 14. 如何殺死一個PID在PID文件中的進程?
- 15. 超時時殺死或終止子進程?
- 16. 在ruby中運行控制檯命令,獲取子進程的PID,並在幾秒鐘內殺死它
- 17. 如何用不同的執行時間殺死幾個進程?
- 18. 如何編寫一個Resque條件,指出「如果一個進程運行時間超過n秒,殺死它」?
- 19. 超過24小時的Python時間對象
- 20. 24小時運行服務
- 21. 當python進程死亡時運行atexit()
- 22. Heroku的任務超過24小時
- 23. 如何在Bash中的給定超時後殺死子進程?
- 24. 時鐘小工具殺死
- 25. 殺死進入睡眠狀態的Mysql進程命令
- 26. 獲取殺死我的應用程序的進程的PID
- 27. 格式化MomentJS持續時間超過24小時
- 28. 殺死進程
- 29. C#如何殺死使用Process.Start()強制殺死我的程序時運行的進程
- 30. R:以超過24小時的hh:mm:ss形式添加時間/持續時間
你能粘貼您的使用,以確定它運行多個進程的shell命令比24小時? – LethalProgrammer
https://serverfault.com/q/181477/94862 – nbari