Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/280.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.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
unix命令在python子进程中不起作用_Python_Unix_Subprocess - Fatal编程技术网

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

unix命令在python子进程中不起作用,python,unix,subprocess,Python,Unix,Subprocess,以下命令在shell上运行良好 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

以下命令在shell上运行良好

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

求值为空字符串时,它将返回一个数字。为什么会这样?它在shell中工作正常?

您的
cmd\u数组
错误,您只发送两个参数,主机名和命令字符串,它应该是:

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