2
我想在Python的子使用pkill -f myPattern
:Python的子進程pkill的
import subprocess as sp
def stop_process(name,host):
host = host.strip()
if host == socket.gethostname():
sp.call ([ 'pkill -f', name ])
else:
sp.call ([ 'ssh', host, 'pkill -f ' + name ])
當我打電話stop_process
在集羣中的所有節點,它適用於所有節點,但當前節點。即當host == socket.gethostname()
應用程序打印Terminated
並退出。
以給定的模式停止過程是否正確?如果是,我該如何解決這個問題?
感謝
難道那是在第一次調用中使用列表,而在第二次使用字符串作爲pkill命令?我可以建議你嘗試使用shlex.split嗎? –
你確定'host == socket.gethostname()'是'True'嗎? –
是的,即使沒有任何條件,它也會崩潰。我用'os.system('pkill -f'+ name)'測試過''。再次,應用程序停止,終止'消息 –