后台启动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.youkuaiyun.com/puff_/article/details/122234941
nohup和&的区别
nohup 是no hung up 的缩写,命令前加上nohup,程序会不挂断运行,但是还是在前台运行,客户端关了,还会继续运行。

关闭客户端,重新打开

& 是后台运行,命令后加 & 程序会在后台运行,但客户端关了,程序就停了。

关闭客户端重新打开

同时使用nohup和&就会起到后台运行并且客户端退出,程序也能继续运行的效果。

关闭客户端重新打开

文章讲述了如何使用nohup命令在Linux后台运行Java的jar包,并详细解释了标准输入、标准输出和标准错误的概念。通过1>log.file将标准输出重定向到log.file,2>&1则将错误输出重定向到标准输出,而2>error.log则将错误输出单独写入error.log文件。
870

被折叠的 条评论
为什么被折叠?



