Python: как проверить состояние процесса, выполняемого sendline
Я использую следующий код для выполнения удаленного сценария. Выполнение может занять несколько секунд, и я не хочу блокировать код во время выполнения скрипта. Как я могу проверить, был ли скрипт выполнен и успешно завершен?
import pxssh
s = pxssh.pxssh()
s.login (ip, username, password):
s.sendline('./script &')
Если sendline
Это не лучший способ, пожалуйста, предложите альтернативу.
1 ответ
Решение
Вы можете сделать так, чтобы ваш сценарий записывал свое состояние завершения в файл после его завершения, а затем ждал появления этого файла (скорее всего, периодически просматривая его):
(./script ; echo $? > exit_status) &
Это предполагает, что ваш скрипт сигнализирует о сбое, выходя с ненулевым кодом состояния.