1、执行jar包的命令和在windows操作系统上是一样:
- 注: 关闭服务器连接时会关闭此程序进程,(推荐测试可用)
java -jar penn-0.0.1-SNAPSHOT.jar;
2、将jar程序设置成后台运行,并且将标准输出的日志重定向至文件xxx.log;
- 注: nohup命令的作用就是让程序在后台运行,不用担心关闭连接进程断掉的问题了(推荐使用)
nohup java -jar penn-0.0.1-SNAPSHOT.jar >xxx.log 2>&1 &
- nohup:用途:不挂断地运行命令。
– 语法:nohup Command [ Arg … ] [ & ]
无论是否将 nohup 命令的输出重定向到终端,输出都将附加到当前目录的 nohup.out 文件中。
如果当前目录的 nohup.out 文件不可写,输出重定向到 $HOME/nohup.out 文件中。
如果没有文件能创建或打开以用于追加,那么 Command 参数指定的命令不可调用。
– 退出状态:该命令返回下列出口值:
可以查找但不能调用 Command 参数指定的命令。
nohup 命令发生错误或不能查找由 Command 参数指定的命令。
否则,nohup 命令的退出状态是 Command 参数指定命令的退出状态。 - &:用途:在后台运行(一般两个一起用)
nohup command &
-
上面的2 和 1 的意思如下:
– 0 标准输入(一般是键盘)
– 1 标准输出(一般是显示屏,是用户终端控制台)
– 2 标准错误(错误信息输出) -
将运行的jar 错误日志信息输出到xxx.log文件中,然后(>&1)就是继续输出到标准输出
– (前面加的&,是为了让系统识别是标准输出),最后一个&,表示在后台运行。 -
[root@izwz9hlbtgq5ezwzq2p8faz subrlife]# nohup java -jar life-admin.jar >admin.log 2>&1 & [1] 28942
– 28942就表示运行的pid,netstat -anp可以查看到
– 建议如果只要查看java项目的话,杀掉运行中的jar程序
ps -aux | grep java
- 如果需要杀掉进程的话
kill -9 进程ID
就行了
[root@izwz9hlbtgq5ezwzq2p8faz ~]# ps -aux|grep java
root 11687 0.0 0.0 112824 976 pts/2 S+ 10:08 0:00 grep --color=auto java
root 28942 2.2 13.1 2565156 246568 pts/0 Sl 09:48 0:27 java -jar life-admin.jar
[root@izwz9hlbtgq5ezwzq2p8faz ~]# kill -9 28942