Я пытаюсь выполнить некоторые команды на некотором компьютере, к которому я подключаюсь с помощью команды rsh
(для моего случая не могу использовать ssh
).
Через subprocess.check_call
, япри выполнении команды и ожидаю, что check_call
завершит работу с исключением, когда состояние завершения моей команды "cd /libs/
" указывает на ошибку.
Ниже приведен код, который я пробую.
with open('logs.txt','w') as outstream:
subprocess.check_call("rsh bldr 'cd /libs/' ", shell=True,stdout=outstream)
Но здесь rsh
возвращает только свой статус выхода, а не команду, которую он выполняет.
Из-за чего даже в случае сбоя команды нет ошибки в функции check_call
, поскольку она получает rsh
статус выходакоторый всегда будет 0.
Итак, как получить статус выхода команды здесь?
Кроме того, как я могу сделать check_call
неудачным на основании статуса выхода моей команды?
Примечание: я пытаюсь изменить каталог на / libs, который не существует.Я надеюсь, что check_call
потерпит неудачу и остановит выполнение скрипта.