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

来源:互联网 发布:sybase数据库查询语句 编辑:程序博客网 时间:2024/05/24 07:23

工作中需要做一个远程执行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]

进程正确启动。


原创粉丝点击