systemctl 运行永不返回的可执行文件的服务

systemctl 运行永不返回的可执行文件的服务

我在弄清楚这些服务如何在 CentOS 上工作时遇到了一些麻烦。现在我有以下服务文件:

[Unit]
Description=SomeDescription
After=network.target

[Service]
Type=simple
ExecStart=/usr/bin/script

[Install]
WantedBy=multi-user.target

这将启动一个脚本,该脚本调用一个永远不会返回的可执行文件:

#!/bin/bash
export LD_LIBRARY_PATH=SOMEPATH && cd SOMEOTHERPATH && ./EXECUTABLE

可执行文件永远不会返回。当我启动该服务时,它会运行一段时间,但随后由于超时而退出:

Job for selftester.service failed because a timeout was exceeded. See "systemctl status selftester.service" and "journalctl -xe" for details.

我注意到,如果我显式更改脚本以在后台运行可执行文件,它就会起作用:

#!/bin/bash
export LD_LIBRARY_PATH=SOMEPATH && cd SOMEOTHERPATH && ./EXECUTABLE &

这是正确的实现吗?提前致谢

相关内容