分类: 系统运维
2014-06-18 10:53:44
点击(此处)折叠或打开
远程执行这个命令,发现即使进程已经挂到1上 ,ssh本地依旧不会退出,用ubprocess.Popen('sleep 10',shell=True)也不行
网上一堆说用nohup的,也是一样,因为进程挂在1上本地不退出,用nohup还是挂1上一样解决不了
试了下发现只要>/dev/null就ok了,原因很可能是ssh远程命令通道拦截了stdout,只要这个进程(包括其子进程)还存在,ssh就一直等待stdout的输出
所以只要把输出定向到/dev/null就可以了,但是这就没法获得命令执行的回显了
半年后看自己写的东西 现在明白什么问题了哦
os.close()掉0,1,2或者重定向走就可以了......