gpt4 book ai didi

linux - 为什么我的 Erlang 引导脚本可以在控制台运行,但在从 init 系统(sysvinit、upstart、systemd)运行时却不起作用?

转载 作者:太空狗 更新时间:2023-10-29 11:07:50 25 4
gpt4 key购买 nike

我有一个可以像这样启动的 Erlang 启动脚本:

/usr/bin/erl -boot /path/to/my-boot-script

它在从控制台运行时有效,但在我从 systemd 运行时失败且没有任何错误消息。 systemd 单元文件如下所示:

[Unit]
Description=My daemon written in Erlang

[Service]
Type=simple
ExecStart=/usr/bin/erl -boot /path/to/my-boot-script
Restart=always

[Install]
WantedBy=multi-user.target

日志显示系统正常启动,然后突然终止,没有任何错误消息。这到底是怎么回事?

最佳答案

事实证明,您必须将 -noinput 参数传递给 erl。否则它将尝试打开 stdin 进行读取,失败,因为那里什么都没有,并在没有任何类型的错误消息的情况下终止。

这个有效:

[Unit]
Description=My daemon written in Erlang

[Service]
Type=simple
ExecStart=/usr/bin/erl -noinput -boot /path/to/my-boot-script
Restart=always

[Install]
WantedBy=multi-user.target

关于linux - 为什么我的 Erlang 引导脚本可以在控制台运行,但在从 init 系统(sysvinit、upstart、systemd)运行时却不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37623205/

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