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)'测试过''。再次,应用程序停止,终止'消息 –