为什么systemd会继续杀死我的服务

时间:2016-06-28 10:48:37

标签: linux systemd

我想在getty.target到达之后从systemd启动一个交互式脚本。到目前为止,这是有效的,但是,systemd会在几秒钟后杀死脚本。 systemd单元如下所示:

[Unit]
Description = Some interactive script
Requires = getty@tty1.service
After = getty@tty1.service

[Service]
Type = oneshot
ExecStart = /usr/local/bin/my-script
StandardInput = tty
StandardOutput = tty
TTYPath = /dev/tty1
TTYReset = yes
TTYVHangup = yes

[Install]
WantedBy = multi-user.target

在脚本中有对dialogmount等的调用。没有什么特别的,但它是一个交互式脚本。 Systemd一直在杀死剧本,我不明白为什么。 systemctl status interactive-script.service的输出如下:

● interactive-script.service - Some interactive script
   Loaded: loaded (/etc/systemd/system/interactive-script.service; enabled)
   Active: inactive (dead) since Tue 2016-06-28 10:18:07 UTC; 14min ago
 Main PID: 364 (code=killed, signal=HUP)

使用journalctl -b -u interactive-script.service得到的日志输出为空:

-- Logs begin at Mon 2015-11-09 11:49:52 UTC, end at Tue 2016-06-28 10:30:28 UTC. --

我已经尝试添加 KillMode = none ,没有运气。然后我尝试了 TimeoutStartSec = infinity - systemd抱怨它不理解它因此我试图将它设置为10000但是脚本在几秒钟之后就被杀死了。我尝试将其作为 Type = simple Type = forking 运行,但都无济于事。

重点是启动脚本似乎工作正常(对话框出现)但systemd一直在杀死脚本。如何实现systemd 不会终止此交互式脚本

0 个答案:

没有答案