免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 7541 | 回复: 8
打印 上一主题 下一主题

[系统管理] xshell无法通过nohup &后台执行脚本,终端退出后脚本自动终止 [复制链接]

论坛徽章:
1
15-16赛季CBA联赛之浙江
日期:2017-01-10 18:35:44
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2016-06-28 11:43 |只看该作者 |倒序浏览
各位老师,求教!
xshell无法通过nohup &后台执行脚本,终端退出后脚本自动终止

通过xshell连接到linux服务器,执行start.sh脚本,脚本中通过nohup xxx &命令启动java进程:
nohup java -cp $classpath  $MEM_ARG $JAVA_oPTIONS com.wisdom.gatewayagent.GateWayAgentStarter $JAVA_Name &

java进程启动后父进程号已经变成为1,但是xshell终端退出后(exit或直接关掉),java进程也终止了。
相同的操作步骤在SecureCRT工具上没有问题,JAVA进程不会终止。

实在是无解,求解各位大神!

论坛徽章:
72
20周年集字徽章-20	
日期:2020-10-28 14:04:30操作系统版块每日发帖之星
日期:2016-07-13 06:20:0015-16赛季CBA联赛之广夏
日期:2016-07-10 09:04:02数据库技术版块每日发帖之星
日期:2016-07-09 06:20:00操作系统版块每日发帖之星
日期:2016-07-09 06:20:00数据库技术版块每日发帖之星
日期:2016-07-07 06:20:00操作系统版块每日发帖之星
日期:2016-07-07 06:20:00操作系统版块每日发帖之星
日期:2016-07-04 06:20:00数据库技术版块每日发帖之星
日期:2016-07-03 06:20:00操作系统版块每日发帖之星
日期:2016-07-03 06:20:00数据库技术版块每日发帖之星
日期:2016-07-02 06:20:00操作系统版块每日发帖之星
日期:2016-07-02 06:20:00
2 [报告]
发表于 2016-06-28 15:05 |只看该作者
没有遇见过这种情况啊
只有nohup java程序会有这个问题吗

论坛徽章:
72
20周年集字徽章-20	
日期:2020-10-28 14:04:30操作系统版块每日发帖之星
日期:2016-07-13 06:20:0015-16赛季CBA联赛之广夏
日期:2016-07-10 09:04:02数据库技术版块每日发帖之星
日期:2016-07-09 06:20:00操作系统版块每日发帖之星
日期:2016-07-09 06:20:00数据库技术版块每日发帖之星
日期:2016-07-07 06:20:00操作系统版块每日发帖之星
日期:2016-07-07 06:20:00操作系统版块每日发帖之星
日期:2016-07-04 06:20:00数据库技术版块每日发帖之星
日期:2016-07-03 06:20:00操作系统版块每日发帖之星
日期:2016-07-03 06:20:00数据库技术版块每日发帖之星
日期:2016-07-02 06:20:00操作系统版块每日发帖之星
日期:2016-07-02 06:20:00
3 [报告]
发表于 2016-06-28 15:05 |只看该作者
写一个shell程序试一下是否也有这个问题

论坛徽章:
2
2015年迎新春徽章
日期:2015-03-04 09:55:28IT运维版块每日发帖之星
日期:2016-07-29 06:20:00
4 [报告]
发表于 2016-06-28 16:25 |只看该作者
用tmux起个后台窗口试试

论坛徽章:
1
15-16赛季CBA联赛之浙江
日期:2017-01-10 18:35:44
5 [报告]
发表于 2016-06-28 17:15 |只看该作者
自已写了个测试脚本,也没这个现象,奇了怪了。

启动java的startup.sh脚本的内容如下:
#!/bin/sh

classpath="./UMPlatform4J.jar";
echo JAVA_HOME=$JAVA_HOME
export MEM_ARG="-Xmx4096m -Xms2048m"
export JAVA_oPTIONS="-Djava.net.preferIPv4Stack=true -XX:-UseGCOverheadLimit"
export JAVA_oPTIONS="-Dfile.encoding=GBK"
for name in `find ./plugins  *.jar`
do
classpath=$classpath":"$name;
done
for name in `find ./lib  *.jar`
do
classpath=$classpath":"$name;
done
echo classpath=$classpath
nohup java -cp $classpath  $MEM_ARG $JAVA_oPTIONS  com.wisdom.ump.UMPlatform &

论坛徽章:
2
IT运维版块每日发帖之星
日期:2016-04-15 06:20:0015-16赛季CBA联赛之福建
日期:2016-08-08 13:37:03
6 [报告]
发表于 2016-06-29 12:54 |只看该作者
shell脚本里写个trap,忽略SIGHUP试试

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
7 [报告]
发表于 2016-07-04 18:02 |只看该作者
4楼正解。其他太麻烦

论坛徽章:
381
CU十二周年纪念徽章
日期:2014-01-04 22:46:58CU大牛徽章
日期:2013-03-13 15:32:35CU大牛徽章
日期:2013-03-13 15:38:15CU大牛徽章
日期:2013-03-13 15:38:52CU大牛徽章
日期:2013-03-14 14:08:55CU大牛徽章
日期:2013-04-17 11:17:19CU大牛徽章
日期:2013-04-17 11:17:32CU大牛徽章
日期:2013-04-17 11:17:37CU大牛徽章
日期:2013-04-17 11:17:42CU大牛徽章
日期:2013-04-17 11:17:47CU大牛徽章
日期:2013-04-17 11:17:52CU大牛徽章
日期:2013-04-17 11:17:56
8 [报告]
发表于 2016-07-05 08:21 |只看该作者
用screen或者tmux试试吧.

论坛徽章:
1
15-16赛季CBA联赛之浙江
日期:2017-01-10 18:35:44
9 [报告]
发表于 2016-07-14 10:36 |只看该作者
谢谢大家!原因找到了:
X connection to localhost:11.0 host broken (explicit kill or server shutdown)
估计启动的时候需要调用到X11.0的图形界面程序。
unset DISPLAY ,取消环境变量设置,再启动就可以了。

如果tomcat,也有说加启动参数,供参考:
JAVA_OPTS="$JAVA_OPTS -Djava.awt.headless=true"
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP