前端之家收集整理的这篇文章主要介绍了
终止由bash脚本执行的SSH会话,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个我可以在本地运行的脚本来远程启动服务器:
#!/bin/bash
ssh user@host.com <<EOF
nohup /path/to/run.sh &
EOF
echo 'done'
运行nohup后,它挂起来.我必须按ctrl-c退出脚本.
我尝试在这个文档的末尾添加一个显式的退出,并为ssh使用“-t”参数.无论如何.如何使此脚本立即退出?
编辑:客户端是OSX 10.6,服务器是Ubuntu.
我认为问题是,nohup不能
重定向输出,当你从ssh进来,它只
重定向到nohup.out当它认为它连接到一个终端,而我stdin覆盖你将会阻止,即使在-t .
解决方法可能是自己重定向输出,然后ssh客户端可以断开连接 – 它不等待流关闭.就像是:
nohup /path/to/run.sh > run.log &
(这对我来说是一个简单的测试,从OS X客户端连接到ubuntu服务器.)
原文链接:https://www.f2er.com/bash/386781.html