我目前正在編寫一個腳本,其目的是殺死一個運行時間超過閾值的進程。 「殺手」運行在一堆主機上,作業由服務器發送給每臺主機。我的想法是使用'ps'來獲得作業的運行時間,但它打印的全部是如何獲取通過ssh遠程創建的進程的時間?
17433 17433? 00:00:00 python
無論等待什麼。
我試圖找到一個簡化的例子,以避免發佈我寫的所有代碼。我們稱S爲服務器,H爲主機。
如果我執行以下步驟:
1)從服務器 2)蟒myscript.py(現在登錄在主機上) 3)PS -U登錄(仍然在主機上ssh登錄3 H )
我得到比上述至於時間而言00:00:00一個相同的結果。
我怎樣才能得到真正的執行時間?當我在本地機器上執行所有操作時,它可以正常工作。
非常感謝您的幫助。
五
您可以使用ulimit運行每個進程嗎?然後,如果超過閾值,它們就會死亡。沒有必要殺死他們。 – lhf
@lhf我認爲ulimit只能限制CPU時間,而不是自進程開始以來的總時間。 – chown
@chown,我將「運行時間」解釋爲CPU時間... – lhf