繁体   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