Python中文
首页
教程
问答
标签
搜索
登录
注册
perl/python中保持系统退出状态的超时限制
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>我有一个简单的perl脚本,它调用另一个python脚本来在云中部署服务器。在</p> <p>我在perl中捕获部署的退出状态,以便在成功/失败设置之后采取进一步的操作。在</p> <p>就像:</p> <pre><code>$cmdret = system("python script.py ARG1 ARG2"); </code></pre> <p>在这里,python脚本运行3到7小时。在</p> <p>这里的问题是,不管成功或失败的返回状态如何,系统在这一步随机地接收到一个信号HUP,即使进程以后退的方式运行并且进一步中断了这些步骤。在</p> <p>那么,有人知道,如果有任何时间限制来保持系统的返回状态,从而导致发送挂断信号?在</p> <p>在python脚本<code>script.py</code>中,使用pexpect远程执行脚本:</p> ^{pr2}$ <p>并且<code>doSsh</code>是<code>pexpect</code>子例程:</p> <pre><code>def doSsh(user,password,host,command): try: child = pexpect.spawn("ssh -o ServerAliveInterval=100 -n %s@%s '%s'" % (user,host,command),logfile=sys.stdout,timeout=None) i = child.expect(['password:', r'\(yes\/no\)',r'.*password for paasusr: ',r'.*[$#] ',pexpect.EOF]) if i == 0: child.sendline(password) elif i == 1: child.sendline("yes") child.expect("password:") child.sendline(password) data = child.read() print data child.close() return True except Exception as error: print error return False </code></pre> <p>第一次执行<code>doSsh</code>需要<code>~6</code>小时,在执行几个小时后,会话将被终止,消息是:<code>Signal HUP caught; exiting</code>,但是 执行<code>python host-bringup.py setup</code>仍在远程主机上运行。在</p> <p>因此在本地系统中,下一个<code>doSsh</code>永远不会运行,perl脚本中的其余步骤也不会继续。在</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>如果您的目标是让perl程序忽略HUP信号,那么您可能只需要设置$SIG global signal handler哈希的HUP条目:</p> <pre><code>$SIG{ 'HUP' } = 'IGNORE'; </code></pre> <p>有关血淋淋的详细信息,请参见</p> ^{pr2}$
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
如何在乒乓球比赛中预测球的轨迹,对于AI球拍预测?
10 回答
如何在乒乓球游戏中阻止球
2 回答
如何在乘法和模中不乘空间?
6 回答
如何在乘法和除以2个不同的数字之间进行交换?
6 回答
如何在也是数据一部分的单个字符上拆分大字符串
6 回答
如何在乾草堆中找到針,有更好的解決方案嗎?
6 回答
如何在事件wxWidgets中传递自定义数据
4 回答
如何在事件中使用lambda i=i?
1 回答
如何在事件中心只接收最近的数据
10 回答
如何在事件发生之前保持云函数运行?
1 回答
如何在事件发生后使页面重定向到同一页面
4 回答
如何在事件回调之间保持python生成器的状态
1 回答
如何在事件处理程序(pythonsocket、sphinx)中保留docstring
3 回答
如何在事件处理程序中更改wxRichTextCtrl的光标位置?
9 回答
如何在事件处理程序中访问外部对象?
7 回答
如何在事件循环中将协程打包为正常函数?
1 回答
如何在事件循环之外运行协同程序?
9 回答
如何在事件循环结束时为并发未来的所有线程调用类方法?
5 回答
如何在事件文件中只保留一份摘要?
7 回答
如何在事件模板中添加事件
3 回答