[英]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.