Linux下jar包的运行、查看、终止

时间:2025-05-13 15:44:48

文章目录

  • 1. jar包的运行
  • 2. 查看运行中的jar包
  • 3. jar的终止
  • 4. jar启停脚本

1. jar包的运行

  1. java -jar :当前ssh窗口被锁定,不可进行其它操作,ctrl + c或直接关闭窗口停止程序;
  2. java -jar &: 当前ssh窗口不被锁定,可进行其它操作,当窗口关闭时,程序退出;
  3. nohup java -jar &:后台挂起程序,当账户退出或终端关闭时程序停止,日志文件存储在当前目录的文件中;
  4. nohup java -jar > &:指定输出日志到文件,后台挂起程序,当账户退出或终端关闭时,程序仍然运行;

nohup 表示生成日志文件& 表示后台新启一个线程执行该命令。

nohup java -jar xxx.jar >xx.log 2>&1 &
该命令多了2>&1,它的意思是,将标准错误2重定向到标准输出1,标准输出1再被重定向输入到xx.log中;

0 – stdin (standard input,标准输入)
1 – stdout (standard output,标准输出)
2 – stderr (standard error,标准错误输出)

2. 查看运行中的jar包

# 以下几种命令均可
ps -ef | grep java 查看当前运行的java进程
ps -ef | grep xxx.jar 查看当前运行的jar进程

ps aux | grep xxx.jar
# ps:process status的简称,用于显示当前进程的状态;
# a:all简称,显示所有程序;
# u:user简称,以用户为主的格式来显示;
# x:显示所有程序,不区分终端机;

# 查看某端口对应的线程pid
netstat -nlp |grep :9181

# 根据进程号查看端口号
netstat -anop | grep 15161

3. jar的终止

kill -9 jar包pid
# 9:使用第9种信号(SIGKILL)无条件终止该进程

4. jar启停脚本

# 
nohup java -jar 包名.jar >log.txt &       
echo $! > /var/run/包名.pid
# 将jar包启动对应的pid写入文件中,为停止时提供pid
# 
PID=$(cat /var/run/包名.pid)
kill -9 $PID
# 给脚本添加可执行权限
sudo chmod +x ./test.sh

相关文章