nohup java -jar 启动java项目

发布时间 2023-06-12 19:44:09作者: 郭慕荣

一、 java -jar a.jar &
直接启动jar文件,在当前会话进程中开启一个子进程来运行程序,这个子进程会随着会话进程的结束而结束。这种情况适合短时间测试用。
二、 nohup java -jar a.jar&
先交代一下名词:
hangup (挂断),终端退出时会发送 hangup 信号来通知其关闭所有子进程。
nohup(不挂断,忽略挂断信号)
nohup 的使用是十分方便的,只需在要处理的命令前加上 nohup 即可,标准输出和标准错误缺省会被重定向到 nohup.out 文件中。一般我们可在结尾加上"&"来将命令同时放入后台运行,也可用">filename2>&1"来更改缺省的重定向文件名。
这种情况适合在生产环境长时间运行。
三、 nohup 使用
启动进程

nohup java -jar babyshark-0.0.1-SNAPSHOT.jar > log.file 2>&1 &

上面的2 和 1 的意思如下:
/dev/null 表示空设备文件
0 stdin标准输入(一般是键盘)
1 stdout标准输出(一般是显示屏,是用户终端控制台)
2 stderr标准错误(错误信息输出)
上面的 > log.file 2>&1 的意思如下:
log.file 表示将标准输出输出到log.file中,也就相当于 1>log.file
2> error.log 表示将错误输出到error.log文件中
2>&1 也就表示将错误重定向到标准输出上
2>&1 >log.file :错误输出到终端,标准输出重定向到文件log.file,等于 > log.file 2>&1(标准输出重定向到文件,错误重定向到标准输出)。
关闭进程

//关闭进程
ps -aux | grep java
kill -9 pid

总结: