我正在为Linux编写一个Python脚本,该脚本应在满足给定条件时挂起进程,稍后再恢复进程。为此,我使用了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 code安装的最新版本。
发布于 2012-02-12 01:12:09
当Python在交互式shell和执行脚本下的行为不同时,我怀疑的第一件事就是运行不同版本的Python。当您在脚本文件中指向解释器时,这很容易发生,例如:
#!/usr/bin/python根据psutil网站的说法,这是一个很小的机会,因为它应该可以很好地与从2.4到3.3的Python版本一起工作。而且,您的代码片段在我的机器上运行良好(内核2.6.32,Python 2.6.6)。
发布于 2019-06-23 04:34:42
我知道这是一个老条目,但对于那些最近遇到这个问题的人来说,
这段代码对我来说很好(Python 3.7.3):
psutil.Process(pid=19931).suspend()同样地,
psutil.Process(pid=19931).resume()但您必须确保引用的进程仍处于活动状态。
https://stackoverflow.com/questions/9226032
复制相似问题