后台启动jar包:
nohup java -jar babyshark-0.0.1-SNAPSHOT.jar&
或者
nohup java -jar babyshark-0.0.1-SNAPSHOT.jar > log.file 2>&1 &
0 stdin标准输入(一般是键盘)
1 stdout标准输出(一般是显示屏,是用户终端控制台)
2 stderr标准错误(错误信息输出)
> log.file 表示将标准输出输出到log.file中,也就相当于 1>log.file
2>&1 也就表示将错误重定向到标准输出上,其中&表示后面的数字(即 1)是一个文件描述符,而不是一个文件名,确保标准错误的输出被重定向到标准输出的当前重定向目标
结尾加上"&"来将命令同时放入后台运行
2> error.log 表示将错误输出到error.log文件中
2>&1 >log.file :错误输出到终端,标准输出重定向到文件log.file,等于 > log.file 2>&1(标准输出重定向到文件,错误重定向到标准输出)。
参考:https://blog.csdn.net/puff_/article/details/122234941
nohup和&的区别
nohup 是no hung up 的缩写,命令前加上nohup,程序会不挂断运行,但是还是在前台运行,客户端关了,还会继续运行。
关闭客户端,重新打开
& 是后台运行,命令后加 & 程序会在后台运行,但客户端关了,程序就停了。
关闭客户端重新打开
同时使用nohup和&就会起到后台运行并且客户端退出,程序也能继续运行的效果。
关闭客户端重新打开