为了账号安全,请及时绑定邮箱和手机立即绑定

防止Linux子进程在父进程终止时终止

防止Linux子进程在父进程终止时终止

HUWWW 2023-11-10 16:23:52
我需要在父进程终止后保持子进程运行。在我的 Ubuntu 18(系统 D)上,我创建了一个服务来将我的java应用程序作为服务运行。为了启动它,我使用:systemctl start my-service这是my-service服务单位的定义:[Unit]Description=Java Linux ServiceAfter=syslog.target[Service]User=rootWorkingDirectory=/rootExecStart=/usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java -jar /root/my-service.jarRestartForceExitStatus=2[Install]WantedBy=multi-user.target在这个my-servicejava应用程序中,我启动了一个子进程(另一个java应用程序),并且我需要在停止后保持它运行my-service。问题是,当我运行时,systemctl stop my-service子进程也被终止。我尝试使用nohup命令启动子进程,但没有成功,我的java代码:Runtime.getRuntime().exec("houp java -jar child.jar");有人可以提供如何解决这个问题的想法吗?
查看完整描述

1 回答

?
慕婉清6462132

TA贡献1804条经验 获得超2个赞

我刚刚更改了我的服务描述单元,添加KillMode=process如下:

[Unit]

Description=Java Linux Service

After=syslog.target


[Service]

User=root

WorkingDirectory=/root

ExecStart=/usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java -jar /root/linux-service.jar

RestartForceExitStatus=2

KillMode=process


[Install]

WantedBy=multi-user.target


查看完整回答
反对 回复 2023-11-10
  • 1 回答
  • 0 关注
  • 156 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信