Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/301.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 尝试在激活脚本后使用subprocess.kill(),但它没有';行不通_Python_Bash_Subprocess - Fatal编程技术网

Python 尝试在激活脚本后使用subprocess.kill(),但它没有';行不通

Python 尝试在激活脚本后使用subprocess.kill(),但它没有';行不通,python,bash,subprocess,Python,Bash,Subprocess,我正在通过cmd运行python脚本,这将打开一个运行bash脚本的新shell。问题是我还需要杀了它 我已尝试使用子流程.kill()子流程.terminate() 甚至 os.system(“taskkill/F/pid”+str(p.pid)) 回馈 SUCCESS: The process with PID 11508 has been terminated. 但事实并非如此 我的代码是这样的: 相关的python行是 p = Popen(['C:/cygwin64/bin/bash.

我正在通过cmd运行python脚本,这将打开一个运行bash脚本的新shell。问题是我还需要杀了它

我已尝试使用
子流程.kill()
子流程.terminate()
甚至
os.system(“taskkill/F/pid”+str(p.pid))
回馈

SUCCESS: The process with PID 11508 has been terminated.
但事实并非如此

我的代码是这样的: 相关的python行是

p = Popen(['C:/cygwin64/bin/bash.exe', '-c', '. /etc/profile; /cygdrive/c/Users/user/Desktop/host_manager/ba.sh'], creationflags=CREATE_NEW_CONSOLE)
巴什是

#! /bin/bash
`. /etc/profile`
/home/user/rc64_host_server.exe -in 50001 -out 50002 -d 1 -dsn 14993-0050
exe是一个侦听的ssh服务器

顺便说一下,当我跑步的时候

p = Popen('C:/cygwin64/bin/bash.exe', creationflags=CREATE_NEW_CONSOLE)
基尔设法完成了这项工作


如何使用脚本终止子进程???

这个问题的答案对您没有什么帮助:?您知道要终止的进程的进程id是什么吗?我已经尝试了os.killpg和psutil.process,但解释器说它们不存在,而且os.system也不存在。我还错过了什么选择?@rok是的,我有一个进程id,但是当我尝试用os.system杀死它时,我得到了很好的回报,但是进程仍然以什么方式运行?这个问题的答案对你没有帮助吗:?你知道你想要杀死的进程的进程id是什么吗?我试过os.killpg和psutil.process,但是解释器说它们不存在,而且os.system也不存在。我还错过了什么选项?@rok是的,我有一个进程id,但当我试图用os.system杀死它时,我得到了一个很好的回报,但进程仍然在运行