启动命令
要想在linux中运行java的项目需要先将项目打包成war包或者jar包。
其中打包成war包需要将war包部署到tomcat服务器上才能运行。而打包成jar包可以直接使用java命令执行。
首先讲一下nohup 和 &,下面会用到
使用nohup
运行程序:
- 结果默认会输出到
nohup.out
- 使用
Ctrl + C
,程序关闭 - 关闭
session
,程序免疫
同时作为nohup对应的命令则是hangup (挂断),终端退出时会发送 hangup 信号来通知其关闭所有子进程。而我们在启动jar文件时若不声明nohup则会默认使hangup生效。
使用&
后台运行程序:
- 结果会输出到终端
- 使用
Ctrl + C
,程序免疫 - 关闭
session
,程序关闭
在linux系统中运行jar包主要有以下几种方式:
1、java - jar xxx.jar
这是最基本的jar包执行方式,但是当我们用ctrl+c中断或者关闭窗口时,程序也会中断执行。
2、java - jar xxx.jar &
&代表在后台运行,使用ctrl+c不会中断程序的运行,但是关闭窗口会中断程序的运行。
3、nohup java - jar xxx.jar &
使用这种方式运行的程序日志会输出到当前目录下的nohup.out文件,使用ctrl+c中断或者关闭窗口都不会中断程序的执行。
4、nohup java - jar xxx.jar > java.out &
> java.out的意思是将日志输出重定向到java.out文件,使用ctrl+c中断或者关闭窗口都不会中断程序的执行。
java程序运行后可以通过以下命令进行查看是否运行成功:
一、可通过jobs命令查看后台运行任务,输入jobs命令,那么就会列出所有后台执行的作业,并且每个作业前面都有个编号。
如果想将某个作业调回前台控制,只需要 fg + 编号即可。如fg 14
二、查看某端口占用的线程的pid
netstat -nlp |grep :9090
三、如果忘了进程号,可以通过如下命令来查看当前运行的jar包程序进程号
ps -ef|grep xxx.jar或者 ps -aux | grep java
示例:
ps -ef|grep expert-article-center.jar
root 6761 29874 33 13:15 pts/1 00:03:18 java -jar expert-article-center.jar -
root 24546 29874 0 13:25 pts/1 00:00:00 grep --color=auto expert-article-center.jar
关闭进程:
kill -s 9 6761
6761 代表上一步查出的进程ID