【问题标题】:Python: How to check the status of a process executed by sendlinePython:如何检查 sendline 执行的进程的状态
【发布时间】:2014-08-31 19:55:26
【问题描述】:

我正在使用以下代码来执行远程脚本。执行可能需要几秒钟才能完成,我不想在执行脚本时阻止代码。如何检查脚本是否已成功执行并完成?

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

如果sendline 不是最好的选择,请提出替代方案。

【问题讨论】:

  • 脚本运行期间你会做什么直到它返回?
  • @JohnZwinck 我将 ssh 到其他服务器并在它们上执行其他耗时的工作。

标签: python linux ssh


【解决方案1】:

您可以让脚本在完成时将其退出状态写入文件,然后等待该文件出现(很可能通过定期查找):

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

这假定您的脚本通过以非零状态码退出来发出失败信号。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-27
    • 1970-01-01
    相关资源
    最近更新 更多