从python子流程执行shell函数
我试图用一个命令杀死一个特定的进程,该命令在shell中运行良好,但在python子进程中不起作用从python子流程执行shell函数,python,subprocess,sh,Python,Subprocess,Sh,我试图用一个命令杀死一个特定的进程,该命令在shell中运行良好,但在python子进程中不起作用 import subprocess subprocess.call(["kill", "$(ps | grep process | awk '{ print $1}' | head -n1)"], shell=False) 解决方法是将此命令放入shell脚本并运行shell脚本。 是否可以直接从python子流程执行 import subprocess
import subprocess
subprocess.call(["kill", "$(ps | grep process | awk '{ print $1}' | head -n1)"], shell=False)
解决方法是将此命令放入shell脚本并运行shell脚本。
是否可以直接从python子流程执行
import subprocess
subprocess.Popen("kill $(ps | grep ncat | awk '{print $1}' | head -n1)", shell=True)
在您的示例中,您没有从bash创建子进程,但同时使用$(…)这是bash指令。更准确地说,您创建了一个kill
进程,并将其传递给未预计算的参数$(…)
上面的示例创建一个bash进程,然后告诉它解释kill$(…)
。Bash将$(…)
转换为一个值,然后运行kill value
在您的示例中,您没有从bash创建子进程,但同时使用$(…)这是bash指令。更准确地说,您创建了一个kill
进程,并将其传递给未预计算的参数$(…)
上面的示例创建一个bash进程,然后告诉它解释
kill$(…)
。Bash将$(…)
转换为一个值,然后运行kill value
使用shell=True
?kill$(ps | grep进程| awk'{print$1}head-n1)“
使用pkill进程
?您所说的shell脚本是什么意思?@KamilCuk我不能使用pkill,因为在yocto发行版I中不可用。”have@mousetrail我尝试使用shell True,但效果不佳使用shell=True
?kill$(ps | grep process | awk'{print$1}'| head-n1)“
使用pkill进程
?您所说的shell脚本是什么意思?@KamilCuk我不能使用pkill,因为在yocto发行版I中不可用。”have@mousetrail我尝试了shell True,但它没有更好地工作,只有一个“但是”,但是/bin/sh
不一定是bash。是的,只有一个“但是”,但是/bin/sh
不一定是bash。它可能是另一个伯恩壳牌公司。