Следующая команда отлично работает с оболочкой
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"']