解决SSH远程执行nohup不退出问题
场景
- 服务器A:CentOS_A,假如IP:1.1.1.1
- 服务器B:CentOS_B,假如IP:2.2.2.2 要在服务器B上远程执行存放在服务器A上的test.sh脚本 假如test.sh内容如下
! /bin/bash |
nohup挂起,这个命令在我们操作的机器上,一般执行完之后Ctrl+C退出,但是放到脚本里面,或者远程直接执行该命令之后会一直停留,不会退出
解决
将命令修改以下
nohup java -jar springboot.jar >/dev/null 2>&1 & |
注
服务器之间如何进行免密,见文章:CentOS服务器之间免密登陆及传输
情况一
在服务器A远程执行服务器B上的test.sh脚本命令,一定要是绝对路径
ssh root@2.2.2.2 "sh /root/test.sh" |
情况二
在服务器A操作存放在服务器A的test.sh脚本内容,执行test.sh到服务器B,test.sh的路径也是要绝对路径
ssh root@2.2.2.2 < /root/test.sh |
ps:不过在经测试的时候有个问题,测试情况一的时候,并不会执行nohup这条命令,目前也不知道为什么 参考:https://blog.csdn.net/oneinmore/article/details/50073443
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 IT者!