Linux中 java -jar 命令后台运行(nohup、&)

java -jar x.jar 这样执行jar包时,命令窗口必须一直开着,关闭窗口程序也关闭了。

java -jar x.jar & 在末尾添加 &,测试结果如下GIF:
在这里插入图片描述
根本就停不下来啊 ,而且关闭窗口后程序也关闭。

解决方案:

[root@centos56 www]# nohup java -Dfile.encoding=utf-8 -jar /opt/bcdSystem/jeecg-cloud-nacos-2.4.5.jar > /opt/bcdSystem/logs/nacosLog.txt 2>&1 &
[1] 10475

命令详解:

nohup:不挂断地运行命令,退出帐户之后继续运行相应的进程。
在这里插入图片描述
以上是nohup把command的输出重定向到当前目录的指定的“nacosLog.txt”文件中,即输出内容不打印到屏幕上,而是输出到”nacosLog.txt”文件中。

不指定文件名会在当前目录创建nohup.out,如果当前目录的 nohup.out 文件不可写,输出重定向到 $HOME/nohup.out 文件中。如果没有文件能创建或打开以用于追加,那么 Command 参数指定的命令不可调用。

2>&1:前面的2和1 的意思如下:

0 标准输入(一般是键盘)
1 标准输出(一般是显示屏,是用户终端控制台)
2 标准错误(错误信息输出)
该命令相当于把标准错误重定向到标准输出么。这里&相当于标准错误等效于标准输出,即把标准错误和标准输出同时输出到指定的“nacosLog.txt”文件中。

将运行的jar 错误日志信息输出到log.file文件中,然后(>&1)就是继续输出到标准输出(前面加的&,是为了让系统识别是标准输出),最后一个&,表示在后台运行。

&:让作业在后台运行。

猜你喜欢

转载自blog.csdn.net/weixin_54514751/article/details/126280231