运行以及关闭jar
1 运行
1. 1java -jar xxx.jar
特点:当前ssh窗口被锁定,可按CTRL + C打断程序运行,或直接关闭窗口,程序退出
1.2 java -jar xxx.jar &
&代表在后台运行
特定:当前ssh窗口不被锁定,但是当窗口关闭时,程序中止运行。
继续改进,如何让窗口关闭时,程序仍然运行?
1.3 nohup java -jar xxx.jar &
nohup 意思是不挂断运行命令,当账户退出或终端关闭时,程序仍然运行
当用 nohup 命令执行作业时,缺省情况下该作业的所有输出被重定向到nohup.out的文件中,除非另外指定了输出文件。
1.4 nohup java -jar xxx.jar >/dev/null &
command >out.file是将command的输出重定向到out.file文件,即输出内容不打印到屏幕上,而是输出到out.file文件中。
1.5 jobs
查询后台所有运行的任务
1.6 fg
那么就会列出所有后台执行的作业,并且每个作业前面都有个编号。如果想将某个作业调回前台控制,只需要 fg + 编号即可。
1.7 netstat -nlp |grep :9181
查看某端口占用的线程的pid
1.8 nohup java -jar xxx.jar --spring.profiles.active=prod &
可以修改application文件中的内容,使得运行时候执行的值变成上面填写的值
来自这位大哥
2 关闭后台运行的jar
2.1 创建一个bash文件
#创建文件
touch stop.sh
#修改文件的权限,设置为可以执行
chmod 777 stop.sh
内容如下:
PID=$(ps -ef | grep xxx.jar | grep -v grep | awk '{ print $2 }')
if [ -z "$PID" ]
then
echo Application is already stopped
else
echo kill $PID
kill $PID
fi