繁体   English   中英

UNIX命令在python子进程中不起作用

[英]unix command not working in python subprocess

以下命令在外壳上可以正常工作

ssh hostname 'pgrep -fn "java -cp /strbase/apps/App"'

但是不在python子进程中,我的数组如下

cmd_array = ['ssh', 'hostname', "'pgrep", '-fn', '"java', '-cp', '/strbase/apps/App"\'']

但是我没有输出。

我在下面尝试:

process = subprocess.Popen(
cmd_array, stdout=subprocess.PIPE, stderr=subprocess.PIPE)

stdout, stderr = process.communicate()

然而

stdout

评估为空字符串,应该给我一个数字。 为什么是这样? 在外壳中工作正常吗?

您的cmd_array错误,您仅发送了两个参数,主机名和命令字符串,应该为:

cmd_array = ["ssh", "hostname", 'pgrep -fn "java -cp /strbase/apps/App"']

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM