Я пытаюсь использовать subprocess.Popen()
для запуска команды в моем скрипте. Код:
output = Popen(["hrun DAR_MeasLogDump " + log_file_name], stdout=subprocess.PIPE, stderr = subprocess.PIPE, executable="/bin/csh", cwd=cwdir, encoding='utf-8')
Когда я печатаю вывод, он выводит на печать созданный вывод оболочки, а не саму команду, которая есть в списке. Я пытался избавиться от executable='/bin/csh'
, но тогда Попен даже не побежал.
Я также пытался использовать subprocess.communicate()
, но он тоже не работал. Я бы также получил вывод оболочки, а не сам факт выполнения команды.
Я хочу полностью избежать использования shell=True
из-за проблем с безопасностью.
РЕДАКТИРОВАТЬ: Во многих различных попытках, "Хрун" не повторно признается. «hrun» - это вызываемый сценарий Pearl, DAR_MeasLogDump - это действие, а log_file_name - файл, для которого сценарий будет вызывать свое действие. Есть ли какая-либо настройка или конфигурация, которые необходимо выполнить, чтобы «hrun» был распознан?