【发布时间】:2016-06-05 20:54:26
【问题描述】:
我是第一次尝试 systemd。我想在系统启动时启动一个进程。我在启动和运行时遇到了问题。
systemd 应该运行一个脚本 (start.sh)。该脚本在后台启动一个进程(我们称之为 P)并以代码 0 退出。 P 会一直运行直到有信号发生。
如果我手动运行 start.sh 一切正常。
如果我让它由 systemd 启动,P 在启动后立即获得一个 SIGTERM 并终止。
所以它开始了,但是信号呢? 它终止了 P,我不确定它的起源和原因。
也许我的单位是错误的,但我不知道如何设置它以满足我的需要。 我尝试了服务类型 simple、idle 和 oneshot。
感谢您的帮助! 克里斯
这是我的单位。
[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)
【问题讨论】: