Python: как проверить состояние процесса, выполняемого sendline

Я использую следующий код для выполнения удаленного сценария. Выполнение может занять несколько секунд, и я не хочу блокировать код во время выполнения скрипта. Как я могу проверить, был ли скрипт выполнен и успешно завершен?

import pxssh
s = pxssh.pxssh()
s.login (ip, username, password):
s.sendline('./script &')

Если sendline Это не лучший способ, пожалуйста, предложите альтернативу.

1 ответ

Решение

Вы можете сделать так, чтобы ваш сценарий записывал свое состояние завершения в файл после его завершения, а затем ждал появления этого файла (скорее всего, периодически просматривая его):

(./script ; echo $? > exit_status) &

Это предполагает, что ваш скрипт сигнализирует о сбое, выходя с ненулевым кодом состояния.

Другие вопросы по тегам