关于 java 进程脱离终端放入后台运行的问题,首先想到是使用nohup命令;
研究了一下tomcat启动脚本、jenkins.war启动方式以及其他linux命令,结论是在目前的linux系统上不使用nohup也可以让进程脱离终端;
tomcat的启动脚本catalina.sh中,并没有使用nohup,仅仅是在命令行结尾加上了& 符号;
需要使用nohup的场景是uname命令的结果为HP-UX(使用了惠普的操作系统)或设置了USE_NOHUP为true;
但在linux上面,仅是& and符号就可以脱离终端了;
方式1. java -jar xx.war 2>&1 >file.log & 这里没有使用 nohup命令
方式2.setid java -jar xx.jar
方式3:nohup java -jar xx.war &
catalina.sh脚本中与nohup相关的命令行号为:
_NOHUP变量的设置:vim +270 catalina.sh
Java进程启动: vim +473 catalina.sh