转:https://blog.csdn.net/qq_38974634/article/details/81710382
说到运行jar包通常我们都会以下面的方式运行:
[root@iZ2zei8ft0h4q485kxwxjgZ babyshark]# java -jar babyshark-0.0.1-SNAPSHOT.jar
这样运行的话会有一个问题,就是我们一关闭当前窗口就会停止运行项目,要想解决这个问题,就需要在后台运行。
[root@iZ2zei8ft0h4q485kxwxjgZ babyshark]# java -jar babyshark-0.0.1-SNAPSHOT.jar > log.file 2>&1 &
上面的2 和 1 的意思如下:
0 标准输入(一般是键盘)
1 标准输出(一般是显示屏,是用户终端控制台)
2 标准错误(错误信息输出)
将运行的jar 错误日志信息输出到log.file文件中,然后(>&1)就是继续输出到标准输出(前面加的&,是为了让系统识别是标准输出),最后一个&,表示在后台运行。
-
[root@iZ2zei8ft0h4q485kxwxjgZ babyshark]# java -jar babyshark-0.0.1-SNAPSHOT.jar > log.file 2>&1 &
-
[1] 669
669就表示运行的端口号,netstat -anp可以查看到。
要想停止后台的进程的话,如下:
接着,直接 kill -9 669(pid) 即可
Window下让JAR在后台运行的方法
转:https://blog.csdn.net/alibert/article/details/49944633
新建一个披处理 run.bat,内容如下
@echo off
start javaw -jar xx.jar
exit
双击运行即可。
由于采用javaw运行,没有命令行窗口,所以system.out输出查看不到。
要在程序中重定向system.out/err 的输出到日志文件