有沒有辦法暫停一個進程(從可執行文件運行),以便在暫停時停止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. pthread - 暫停/暫停所有線程
- 5. 暫停和取消暫停線程
- 6. 在通話過程中暫停遊戲
- 7. 暫停過程之前磁盤已滿
- 8. 如何暫停和恢復WebRequestMethods.Ftp.UploadFile過程?
- 9. C:需要暫停過程,直到SIGALRM
- 10. 在Matlab中關閉/暫停過程
- 11. -SIGCONT不會繼續暫停過程?
- 12. Contiki計時器沒有暫停過程
- 13. 暫停和停止線程
- 14. 主線程暫停
- 15. Ruby暫停線程
- 16. 暫停子進程
- 17. 如何在主線程停止/暫停線程/ Activity在android中暫停/停止?
- 18. 暫停循環並暫停
- 19. TeamCity暫停測試通過
- 20. 開始,暫停和停止Node.js過程/循環
- 21. 暫停下載線程
- 22. WPF - 暫停UI線程?
- 23. Thread.sleep暫停整個程序
- 24. 暫停組裝程序
- 25. 程序暫停在循環
- 26. 協程暫停工作
- 27. Java暫停程序執行
- 28. 「暫停」,線程與屬性
- 29. 暫停/恢復線程?
- 30. 暫停後臺線程()
你是指線程還是運行系統進程? – ukanth 2010-05-10 16:11:51
正在運行的系統進程。 – 2010-05-10 16:56:13
我會傾向於降低流程優先級,而不是「暫停」它。那樣的話,其他流程將首先進行 – 2010-11-20 00:25:44