当前位置: 首页 > Linux

ssh远程执行命令nohup无效问题

时间:2023-04-06 04:47:49 Linux

昨晚1:00左右准备睡觉,突然有个哥们问了我一个问题。他在机器A上远程执行机器B上的脚本(sshuser@ip"command"),但是机器B上的服务没有启动。看了截图,脚本确实执行了,他说可以在B的本机执行。于是看了一下脚本,有一段如下if[xxxx];thenxxxxelsenohupjava-jar../xxx.jar>/dev/null2>&1&echo"xxxx"fi感觉可能是一个相对路径的问题,于是让何改成绝对路径,试了下还是不行。然后让他试一下,在B上用sh-x执行脚本,发现没有问题。让他再试一次,在A上远程执行脚本,发现没有执行nohup命令,直接执行nohup后的echo命令,A上的执行方式如下:sshuser@IP"sh-xscript"and然后尝试在A上运行直接远程执行nohup命令不行,如下:sshuser@ip"nohupjava-jar../xxx.jar>/dev/null2>&1&"查看了一些资料后,发现在ssh远程的时候执行了nohup命令。获取不到远程机器的环境变量,导致无法执行java命令,所以采用以下两种方法解决。第一种sshuser@ip<