Linxu后台运行Java的jar包

1、直接运行

  java -jar myjar-0.0.1-SNAPSHOT.jar

这种方式需要一直挂载终端(Ctrl+C会结束进程、关闭shell也会结束进程),故不符合需求


2、后台运行

A、Ctrl+C不会结束进程``

java -jar myjar-0.0.1-SNAPSHOT.jar &

在命令后加 & ,即可后台运行(Ctrl+C不会结束进程)。但如果关闭shell窗口,该进程仍会终止。

B、退出终端都不会结束进程

  nohup java -jar myjar-0.0.1-SNAPSHOT.jar > myjar.log 2>&1 &
  • nohup(no hang up,即不挂起):用于在系统后台不挂断地运行命令,退出终端不会影响程序的运行

  • > myjar.log:重定向输出日志在当前目录下的myjar.log文件

  • 2>&1 解释:

    将标准错误 2 重定向到标准输出 &1 ,标准输出 &1 再被重定向输入到 myjar.log 文件中。

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

3、退出进程

ps -aux | grep "java"

查询所有与java相关的进程

参数说明:

  • a : 显示所有程序
  • u : 以用户为主的格式来显示
  • x : 显示所有程序,不区分终端机

另外也可以使用 ps -def | grep "java" 命令来查找。

找到 PID 后,就可以使用 kill PID 或是 kill -9 PID 来删除。

  • kill -9 PID:为强制杀死进程

参考

posted @ 2021-03-25 15:32  _天青色烟雨  阅读(108)  评论(0编辑  收藏  举报