gpt4 book ai didi

java - 如何在 Linux (Centos 7) shell 上在后台正确运行 Spring Boot Batch 应用程序?

转载 作者:行者123 更新时间:2023-12-04 19:31:34 25 4
gpt4 key购买 nike

我必须在 Linux 机器(Centos 7)上运行 Java Spring Boot 应用程序。我正在通过 SSH 连接到 shell。
此应用程序位于 jar 格式化和实现一个批处理应用程序并包含它自己的调度程序。
我必须在远程服务器的后台运行它,以便在我退出 shell 之后它仍然运行。
我已执行此命令以在后台运行我的应用程序:

java -Xms256m -Xmx1024m -jar UpdateInfoBatch-0.0.1-SNAPSHOT.jar &
然后我点击 CTRL+C 在我的键盘上,以便再次获得我的外壳上的键盘提示。
这里是第一个 trange 行为:我再次获得 shell 提示和插入命令的可能性,但如果应用程序记录了它出现在 shell 上的内容。为什么?我希望我的应用程序仍然在后台运行。
无论如何,我现在在我的 shell 中提示这个命令,以检查我的应用程序是否正在运行:
xxx@xxx.yyy.it [~/zzz-import-data-batch]# ps aux | grep java
xxx 23307 15.3 1.6 4871172 418980 pts/0 Sl 10:23 0:22 java -Xms256m -Xmx1024m -jar UpdateInfoBatch-0.0.1-SNAPSHOT.jar
webadmin 23522 0.0 0.0 112812 980 pts/0 S+ 10:25 0:00 grep --color=auto java
是的,我的应用程序似乎正确运行(第一个)。
然后我关闭与我的 shell 的连接,我再次登录它并再次执行上一个命令,但现在我得到了这个:
xxx@xxx.spaccount.it [~/zzz-import-data-batch]# ps aux | grep java
xxx 23919 0.0 0.0 112812 980 分/0 S+ 10:27 0:00 grep --color=auto java
正如您之后看到的那样,我与 shell 断开连接,当我重新登录时,我的批处理应用程序似乎没有运行(实际上我的作业应用程序没有运行)。
怎么了?我错过了什么?什么是在后台运行我的 java jar 批处理应用程序的好方法?

最佳答案

通常你会想要重定向输出,你可以使用 nohup 命令将其生成到后台。如果您不关心捕获标准输出或标准错误,您可以将它们定向到/dev/null

nohup java -Xms256m -Xmx1024m -jar UpdateInfoBatch-0.0.1-SNAPSHOT.jar >/dev/null 2>&1 &

关于java - 如何在 Linux (Centos 7) shell 上在后台正确运行 Spring Boot Batch 应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71183703/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com