有沒有辦法暫停一個進程(從可執行文件運行),以便在暫停時停止cpu加載,並等待它未被暫停以繼續其工作?可能在python中,或以python訪問的方式。暫停過程?
暫停過程?
回答
通過使用psutil(https://github.com/giampaolo/psutil):
>>> import psutil
>>> somepid = 1023
>>> p = psutil.Process(somepid)
>>> p.suspend()
>>> p.resume()
您正在考慮SIGTSTP - 與推CTRL-Z
時發生的信號相同。這會暫停該過程,直至獲得SIGCONT。
當然,有些程序只能捕捉和忽略這個信號,所以它取決於可執行文件。但是,如果您可以手動暫停和恢復,也可以從python程序執行。使用os.kill()
,我該如何解除它,以便它繼續從之前的位置開始工作? – 2010-05-10 16:28:29
發送SIGCONT – 2010-05-10 16:56:14
SIGSTOP無法被阻止,並且在此上下文中稍微更準確一些,而不是來自tty。 http://en.wikipedia.org/wiki/SIGSTOP – msw 2010-05-10 19:23:29
有一個(幾乎)本地在Python這樣的方式,這是相當簡單:
import time
time.sleep(5)
在這片段,5
是秒你想暫停你的程序的次數。
這並不回答這個問題;這是關於暫停*另一個進程。 – bfontaine 2017-07-25 16:30:33
我只是在Python的東西與信號來實現這個是這樣的:
def mysignalhandler(sig, frame):
print "Got " + str(sig)
if sig == signal.SIGUSR1:
do_something()
signal.signal(signal.SIGUSR1, mysignalhandler)
signal.pause()
這將在最後一行暫停,並呼籲do_something()
當它通過
kill -USR1 <pid>
接收信號USR1,例如
命令。
這隻會在UNIX上工作。
- 1. psutil - 暫停過程
- 2. 暫停和取消暫停線程
- 3. 線程暫停
- 4. C:需要暫停過程,直到SIGALRM
- 5. 在通話過程中暫停遊戲
- 6. Contiki計時器沒有暫停過程
- 7. 暫停過程之前磁盤已滿
- 8. -SIGCONT不會繼續暫停過程?
- 9. 暫停子進程
- 10. 暫停循環並暫停
- 11. 開始,暫停和停止Node.js過程/循環
- 12. 在Windows中暫停進程
- 13. 殺死暫停的線程
- 14. Thread.sleep暫停整個程序
- 15. 在ExitDialog上暫停線程
- 16. 什麼是暫停線程?
- 17. 暫停Windows服務線程?
- 18. Python暫停線程執行
- 19. 暫停/恢復線程?
- 20. 「暫停」,線程與屬性
- 21. 暫停在工作線程
- 22. 暫停應用程序
- 23. 暫停組裝程序
- 24. Android:暫停線程幾秒
- 25. WPF - 暫停UI線程?
- 26. 程序暫停在循環
- 27. 暫停Web請求(線程)
- 28. 如何按暫停按鈕時暫停程序執行
- 29. 暫停
- 30. 暫停和取消暫停AS2動畫
你是指線程還是運行系統進程? – ukanth 2010-05-10 16:11:51
正在運行的系統進程。 – 2010-05-10 16:56:13
我會傾向於降低流程優先級,而不是「暫停」它。那樣的話,其他流程將首先進行 – 2010-11-20 00:25:44