您的位置:首页 > 运维架构 > Shell

linux 远程执行 shell脚本中nohup启动注意

2013-03-25 13:26 1336 查看
工作中需要做一个远程执行shell脚本启动进程的功能,涉及两台服务器,A和B。已经配置好服务器A可以远程不登陆访问服务器B,

执行命令格式如下

ssh usernameB@ip [command]

在服务器B上做的工作是启动一个java进程。具体做法是在usernameB用户当前目录下创建了个sh脚本,脚本中添加nohup 启动。

脚本内容如下:

nohup ./start.sh > /dev/null &

但是一开始在A上执行命令 ssh usernameB@ip ./start.sh 时 能输出脚本start.sh 中的文字打印,但是进程起不了。

搜资料查找原因,原来是远程执行nohup启动时usernameB的环境变量没有跟这起效。需要在start.sh脚本中添加环境变量的临时配置

如下:

export E2E_HOME=/export/home1/inms_col/aris_col/

JAVA_HOME=/opt/jdk1.5.0_16

export JAVA_HOME

PATH=$PATH:$HOME/bin

PATH=$PATH:/usr/kerberos/bin:/usr/local/bin:/bin:/usr/bin

PATH=$JAVA_HOME/bin:$PATH

export PATH

然后重新执行

ssh usernameB@ip [command]

进程正确启动。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: