1
我想殺死我的系統上運行的python腳本的一部分的任何Firefox的過程中,使用下面的腳本:使用Python的subprocess.call殺Firefox進程
if subprocess.call([ "killall -9 firefox-bin" ]) is not 0:
self._logger.debug('Firefox cleanup - FAILURE!')
else:
self._logger.debug('Firefox cleanup - SUCCESS!')
我遇到以下錯誤的如下所示,然而'killall -9 firefox-bin'只要我在終端中直接使用它就沒有任何錯誤。
Traceback (most recent call last):
File "./pythonfile", line 109, in __runMethod
if subprocess.call([ "killall -9 firefox-bin" ]) is not 0:
File "/usr/lib/python2.6/subprocess.py", line 478, in call
p = Popen(*popenargs, **kwargs)
File "/usr/lib/python2.6/subprocess.py", line 639, in __init__
errread, errwrite)
File "/usr/lib/python2.6/subprocess.py", line 1228, in _execute_child
raise child_exception
OSError: [Errno 2] No such file or directory
我缺少的東西或我應該試圖完全使用不同的Python模塊?
作爲一個側面說明,你應該鼓勵OP使用'...!= 0',而不是'是不是0',而在第二種情況下,('殼= TRUE'),您不再需要名單。傳遞一個字符串就好了。 – mgilson
@mgilson:最好是實際使用'> 0'。 –
夠公平的。我更擔心''is'只能作爲Cpython實現細節使用小整數。但是,我想如果你想多走一步,並且真正考慮在無符號的1字節整數中哪些返回碼是合法的,我想這是合理的。 :) – mgilson