终止由bash脚本执行的SSH会话
发布时间:2020-12-15 18:55:34 所属栏目:安全 来源:网络整理
导读:我有一个我可以在本地运行的脚本来远程启动服务器: #!/bin/bashssh user@host.com EOF nohup /path/to/run.sh EOFecho 'done' 运行nohup后,它挂起来.我必须按ctrl-c退出脚本. 我尝试在这个文档的末尾添加一个显式的退出,并为ssh使用“-t”参数.无论如何.如
我有一个我可以在本地运行的脚本来远程启动服务器:
#!/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服务器.) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |