linux – systemd:SIGTERM启动后立即启动
发布时间:2020-12-14 01:20:31 所属栏目:Linux 来源:网络整理
导读:我是第一次尝试systemd.我想在系统启动时启动一个进程.我在启动和运行方面遇到了问题. systemd应该运行一个脚本(start.sh).此脚本在后台启动进程(让我们称之为P)并使用代码0退出. P一直持续运行直到信号发生. 如果我手动运行start.sh一切正常. 如果我让它从s
我是第一次尝试systemd.我想在系统启动时启动一个进程.我在启动和运行方面遇到了问题.
systemd应该运行一个脚本(start.sh).此脚本在后台启动进程(让我们称之为P)并使用代码0退出. 如果我手动运行start.sh一切正常. 如果我让它从systemd开始,P会在启动SIGTERM后立即启动并终止. 所以它开始但信号呢? 也许我的单位错了,但我不知道如何根据我的需要设置它. 感谢帮助! 这是我的单位. [Unit] Description=Test After=sshd.service [Service] Type=oneshot ExecStart=/home/max/start.sh start Restart=no User=root SuccessExitStatus=0 [Install] WantedBy=multi-user.target 这是地位. Loaded: loaded (/etc/systemd/system/test.service; enabled) Active: inactive (dead) since Die 2016-02-23 20:56:59 CET; 20min ago Process: 1046 ExecStart=/home/max/test.sh start (code=exited,status=0/SUCCESS) 解决方法
当start.sh完成时,systemd会杀死与start.sh相同的cgroup中的所有内容
你的选择是: >在Unit部分中设置KillMode进行处理(默认为control-group).这将导致systemd仅杀死它直接触发的进程. 我认为在您的情况下,选项2是可行且更直接的. 资料来源:https://unix.stackexchange.com/a/231201/45329 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |