远程执行卡住问题~

setsid /etc/init.d/$SERVICE_NAME  start &

 

ssh 远程执行一条命令,如何退出

找到办法了
在命令的后面加上0</dev/null 1>;/dev/null 2>;/dev/null
是输出设备重定向一下

使用nohup,但在最后加上&符号,来后台运行。这样本地就木有进程了。

 

我的命令是这样的:
ssh root@192。168.80.21 "/usr/bin/runyj -q YJ.INITQ.QUEUE &"
其中/usr/bin/runyj 是一个不会退出的进程
这样的话,ssh也就不会退出来
我就用下面的命令使ssh在后台执行
ssh root@192.168.80.21 "/usr/bin/runyj -q YJ.INITQ.QUEUE &" &

这样有个问题就是在本地始终有这个ssh进程,无法退出,除非强制Kill掉
而且强制Kill掉后,在远程执行的进程/usr/bin/runyj也会被Kill掉

如何能使ssh退出而远程执行的命令继续执行呢?

 

 

ssh的信用机制都建好了,远程运行shell脚本也都没问题,现在出现了一种这样的情况:

  1. ssh 10.*.*.* "test.sh"
复制代码



现在我是想这个脚本执行完后能够正常返回,但是这个脚本虽然执行成功了,但在终端的地方一直停在那里,需要使用 Ctrl+C才能退出来,而脚本中的动作确实也都做成功了,我想知道这种情况怎么去寻找原因,怎么去解决呢?
该脚本在本地执行没有这种情况,执行完就直接返回了。

在test.sh中是需要启动一个应用程序,比如"testserver",在脚本中启动的语句是:

  1. $PATH/testserver --port $PORT >> /dev/null &
复制代码



我觉得可能是启动这个程序所引起的问题,因为其他的脚本起其他的程序也都没问题,所以就在这一句上改过,输出重定向也改过几种了,不见效,希望大家知道的给点指引。

多谢多谢。

 

ssh的信用机制都建好了,远程运行shell脚本也都没问题,现在出现了一种这样的情况:

  1. ssh 10.*.*.* "test.sh"
复制代码



现在我是想这个脚本执行完后能够正常返回,但是这个脚本虽然执行成功了,但在终端的地方一直停在那里,需要使用 Ctrl+C才能退出来,而脚本中的动作确实也都做成功了,我想知道这种情况怎么去寻找原因,怎么去解决呢?
该脚本在本地执行没有这种情况,执行完就直接返回了。

在test.sh中是需要启动一个应用程序,比如"testserver",在脚本中启动的语句是:

  1. $PATH/testserver --port $PORT >> /dev/null &
复制代码



我觉得可能是启动这个程序所引起的问题,因为其他的脚本起其他的程序也都没问题,所以就在这一句上改过,输出重定向也改过几种了,不见效,希望大家知道的给点指引。

多谢多谢。

 

 

  我也遇到这样的问题。
/etc/init.d/runjboss.sh restart >/dev/null 2>&1 是可以退出的
/etc/init.d/runjboss.sh restart 不可以退出
runjboss是HA用,启动jboss的脚本。
这个为什么会是这样,求大侠指导。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值