分享

for循环调用远程脚本第一次执行后卡住

grinsky 发表于 2016-12-28 17:52:21 [显示全部楼层] 回帖奖励 阅读模式 关闭右栏 2 8207
在命令行下通过for循环ssh登陆远程机器执行一个python脚本
但在第一个执行成功后就卡住了,输入 “crtl + c ”,后会继续执行下一个,但又会卡住。
命令: for i in 1 2 3 4 ;do ssh hadoop$i "/hoem/agent/agent.py start";done
最终通过将agent.py 中的 os.system(xxxx)  修改为os.popen(xxxx)
后就能正常执行了。想问下造成这个的具体原因是什么呢?
虽然能猜到一点大概和 stdin stdou有关,但还是不清楚其中的原因啊。

已有(2)人评论

跳转到指定楼层
easthome001 发表于 2016-12-28 19:58:31
只能os.system(xxxx) 这个他自己不能结束,只能通过 “crtl + c ”
os.popen(xxxx)是可以自己结束的。
可以通过线程观察下或则楼主自己调试下
回复

使用道具 举报

grinsky 发表于 2016-12-30 10:03:52
easthome001 发表于 2016-12-28 19:58
只能os.system(xxxx) 这个他自己不能结束,只能通过 “crtl + c ”
os.popen(xxxx)是可以自己结束的。
...

thanks,长知识了。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条