Ubuntu 16 启动时使用 systemd 服务

Ubuntu 16 启动时使用 systemd 服务

我有一台 Ubuntu 16.04 机器。我编写了一个非常简单的 systemd 服务。

这样做的目的是创建一个服务,该服务将在启动过程完成后启动并运行 python 脚本。如果 python 脚本崩溃,它还应重新启动 python 脚本。

这就是我的 systemd 脚本的样子。

[Unit]
Description=My Python Script
Requires=multi-user.target
After=multi-user.target

[Service]
Type = forking
WorkingDirectory=/path/to/my/python/script/
ExecStart=/usr/bin/python /path/to/my/python/script/mypythonscript.py
Restart=always

[Install]
WantedBy=multi-user.target

该脚本是使用这个编写的教程。我按照那里的步骤操作,只是改了名字。

我现在有一项可以手动启动的服务。如果我这样做,sudo service myservice start我就可以启动我的服务。但是,该服务不会在机器启动时启动。它需要手动启动。

你知道我该如何解决这个问题吗?

在 Ubuntu 16.04 操作系统上,机器启动后启动服务的正确方法是什么?

谢谢!

答案1

您启用了该服务吗?

systemctl enable myservice

就足够了。

您可以运行 systemctl status myservice 进行检查,它会立即告诉您该服务是否已启用。

相关内容