> subprocess.Popen("ADK -j 50 - ordNode jira1disa2 -a '-noControl -sourceDir /some/path/given/' > logFile.log 2>&1 &")
Я написал почти такой же запрос, как упомянуто выше. ADK
- это один двоичный файл C ++ с некоторыми аргументами в качестве параметров, и я пытаюсь запустить его через скрипт python на сервере.
Когда я помещаю строку:
> ADK -j 50 - ordNode jira1disa2 -a '-noControl -sourceDir /some/path/given/' > logFile.log 2>&1 &
В один .sh
файл и запустить этот файл с помощью Python Я могу выполнить результат, но при вызове напрямую я получаю сообщение об ошибке:
Traceback (most recent call last):
File "test.py", line 47, in <module>
check_timezone()
File "test.py", line 40, in check_timezone
count = subprocess.check_output(command)
File "/usr/lib/python3.6/subprocess.py", line 537, in check_output
process = Popen(stdout=PIPE, *popenargs, **kwargs)
File "/usr/lib/python3.6/subprocess.py", line 679, in __init__errread, errwrite)
File "/usr/lib/python3.6/subprocess.py", line 1249, in _execute_child
raise child_exception-
OSError: [Errno 2] No such file or directory
Ограничение:
Я не могу использовать оболочку= True
Я также попытался, указав его в списке со всеми строками, но он также потерпел неудачу, в subprocess.Popen
вместе со многими возможными способами ... Пожалуйста, предложите способ, с помощью которого он будет работать.