跳至主要內容

打包、部署

程序员李某某原创javaLinixnohup大约 1 分钟

打包、部署

后台运行

nohup java -jar xxoo.jar > output.log 2>&1 &

其中:

  • nohup 命令可以让命令在后台运行,并且即使退出终端窗口,进程也会持续运行。
  • java -jar xxoo.jar 是要运行的jar包命令。
  • > output.log 将标准输出重定向到名为 output.log 的文件中。
  • 2>&1 将标准错误输出重定向到标准输出。这样,标准错误输出也会写入到 output.log 文件中。
    • 0:STDIN_FILENO -- 标准输入
    • 1:STDOUT_FILENO -- 表中输出
    • 2:STDERR_FILENO -- 标准错误
    • >:覆盖
    • >>: 追加
    • &:整个过程后台运行 ---- 错误重定向(追加)到标准输出的过程,后台运行
  • & 让命令在后台运行。

nohup与&

  • 先回忆下不后台运行,直接java -jar xxoo.jar
    • Ctrl+C可以终止程序
    • 关闭SSH连接结束会话,也可以终止程序
  • nohup是解决SSH问题的,只有nohup时,关闭ssh会话程序不会终止,但是ctrl+c就完犊子了
  • &是解决ctrl+c问题的,只有&时,按ctrl+c不会终止程序,但是ssh关闭后,程序就挂了

运行jar包引用外部配置

java -jar xxoo.jar --spring.config.location=./application.yml

说明:

  • --spring.config.location或者-Dspring.config.location都可
  • 外部文件直接写相对路径或绝对路径
  • 内部文件需要classpath:,如--spring.config.location=classpath:/application.yml
上次编辑于:
贡献者: ext.liyuanhao3