通常启动:
java -jar /opt/ruoyi-admin.jar
这样子,是前台启动,直接在屏幕输出启动日志,方便开发调试布署查看异常。
但问题是,一旦 ctrl + c 关闭,或控制台退出,进程也随之关闭。
后台启动:
nohup java -jar /opt/ruoyi-admin.jar >> /opt/ruoyi-nohup.out 2>&1 &
用 nohup ...... & 启动,会以后台进程启动,即便控制台关才,进程仍然在后台运行,并把原来在屏幕输出的日志,输出到指定的日志文件中。
启动后,直接打印了进程ID,便退出了,可以使用下面命令动态跟踪查看日志:
tail -300f /opt/ruoyi-nohup.out
编写脚本完成后台启动与动态日志查看跟踪异常:
[root@base22 html]# vi /opt/ruoyi.sh
# /bin/bash
# 后台运行 jar 包,并将日志写到 nohup.out 文件
nohup java -jar /opt/ruoyi-admin.jar >> /opt/ruoyi-nohup.out 2>&1 &
echo 'starting ... '
# 动态查看日志文件
tail -300f /opt/ruoyi-nohup.out
设置脚本的可执行权限及软链到可执行搜索路径:
[root@base22 html]# chmod 777 ruoyi.sh
[root@base22 html]# ln -n ruoyi.sh /usr/bin/ruoyi.sh
此时,在任何路径下,都可以随时执行 ruoyi.sh 来后台启动 jar 包,并同步跟踪日志输出了,没问题时,ctrl + c 关闭日志输出,而不是进程。
执行前,需要先查看已存在进程并杀掉,可以按名称或占用端口查杀进程:
[root@base22 html]# ps -ef | grep ruoyi
root 40369 1 0 10:35 pts/1 00:01:13 java -jar /opt/ruoyi-admin.jar
root 56453 41193 0 16:04 pts/1 00:00:00 grep --color=auto ruoyi
[root@base22 html]# ps -aux | grep ruoyi
root 40369 0.3 23.1 3126724 431796 pts/1 Sl 10:35 1:13 java -jar /opt/ruoyi-admin.jar
root 56463 0.0 0.0 112828 984 pts/1 S+ 16:04 0:00 grep --color=auto ruoyi
[root@base22 html]# netstat -tulpn | grep 8080
tcp6