簡體   English   中英

psutil-暫停過程

[英]psutil - suspending process

我正在用Python for Linux編寫一個腳本,該腳本應在滿足給定條件時掛起進程,然后再恢復它。 為此,我正在使用psutil(http://code.google.com/p/psutil)。 我遇到的問題很奇怪。 當我使用python命令行時,一切正常-進程被掛起,稍后恢復。 但是,當我在腳本文件中使用相同的函數然后嘗試運行它時,它將引發異常:

AttributeError: 'Process' object has no attribute 'suspend'

代碼段:

p = psutil.Process(19931)
p.suspend()
print 'suspended'
time.sleep(10)
p.resume()
print 'resumed'

當然,19931是我在后台啟動的進程的PID類型,希望將其掛起。

有人有想法或提示嗎? Psutil是從Google代碼安裝的最新版本。

我知道它是舊條目,但是對於最近遇到此問題的人來說,

這段代碼對我來說很好用(Python 3.7.3):

psutil.Process(pid=19931).suspend()

同樣

psutil.Process(pid=19931).resume()

但是您必須確保所引用的過程仍然有效。

我首先懷疑的是,Python在交互式外殼下的行為是否不同,並且執行腳本會運行不同版本的Python。 當您使用以下內容指向腳本文件中的解釋器時,很容易發生這種情況:

#!/usr/bin/python

根據psutil網站的說法,這是一個很長的路要走,因為它應該能夠與2.4到3.3的Python版本一起很好地工作。 另外,您的代碼段在我的機器上也可以正常運行(內核2.6.32,Python 2.6.6)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM