- 论坛徽章:
- 0
|
- /opt/apache-tomcat-5.5.27/K apache-tomcat-5.5.27 -9 //kill 所有含apache-tomcat-5.5.27的进程
- cd /opt/apache-tomcat-5.5.27/bin/
- ./startup.sh
- tail -f ../logs/catalina.out
复制代码
脚本如上,前一阵为了方便同事调试程序,把启动tomcat的命令放到了run脚本里,启动完tomcat自动tail -f catalina.out查看日志,结果发现用run启动tomcat后如果不用CTRL+C退出tail而直接关掉ssh窗口会导致tomcat异常关闭tomcat相关进程消失。发现问题后手动启动别的tomcat然后tail -f catalina.out再关掉ssh窗口,tomcat一切正常,所以怀疑是同事的程序问题。结果今天用此脚本启动任何tomcat关掉ssh窗口tomcat都会关闭,才意识到此问题是启动脚本引起的。
用此脚本启动完tomcat ps查看进程,一个java进程的ppid=1,其余java进程ppid=前一个java进程的pid(此测试机没运行其它java服务)和手动执行startup.sh启动tomcat没有什么差别,ps tail进程的ppid=当前登陆的bash pid,并且kill tail进程和当前登陆的bash进程都不会影响到tomcat,实在不解为什么直接关掉ssh窗口tomcat就挂了???
修改脚本如下,在tail后面加上&然后再关掉ssh窗口就不会影响tomcat了,不解其中的原由。望shell高手指点迷津
- /opt/apache-tomcat-5.5.27/K apache-tomcat-5.5.27 -9 //kill 所有含apache-tomcat-5.5.27的进程
- cd /opt/apache-tomcat-5.5.27/bin/
- ./startup.sh
- tail -f ../logs/catalina.out &
复制代码 |
|