我创build了一个systemd启动脚本,简单地调用一个python脚本启动或停止参数。脚本工作如果手动从shell运行,但是当我运行systemctl启动foo或systemctl停止foo它不工作
[Unit] Description=foo Backends After=network.target remote-fs.target nss-lookup.target [Service] ExecStart=/opt/foo/scripts/init_backends.py start ExecStop=/opt/foo/scripts/init_backends.py stop RemainAfterExit=yes [Install] WantedBy=multi-user.target
请注意,调用/opt/foo/scripts/init_backends.py从shell启动工作得很好
使用以下设置时,它开始工作。 我认为StandardOutput = tty是关键
[Unit] Description=foo Backends After=network.target remote-fs.target nss-lookup.target [Service] Type=forking ExecStart=/opt/foo/scripts/init_backends.py start ExecStop=/opt/foo/scripts/init_backends.py stop User=root Group=root TimeoutSec=300 StandardOutput=tty RemainAfterExit=yes [Install] WantedBy=multi-user.target