< >
Home » Ubuntu系统入门教程 » Ubuntu系统入门教程-使用service服务开机自启动

Ubuntu系统入门教程-使用service服务开机自启动

Ubuntu系统入门教程-使用service服务开机自启动

说明:

  • 介绍如何使用service服务开机自启动
  • systemd 支持系统级和用户级的实现开机启动
  • 实现在系统级开机自启动supervisord
  • 实现在用户级开机自启动supervisord
  • 环境: ubuntu20.04

系统级开机自启动步骤:

  • 增加service文件
sudo vim /etc/systemd/system/supervisord.service
  • 内容如下:
# supervisord.service进程管理服务文件
[Unit]
Description=Process Monitoring and Control Daemon   # 内容自己定义:Description=Supervisor daemon
After=rc-local.service nss-user-lookup.target

[Service]
Type=forking
ExecStart=/usr/bin/supervisord -c /etc/supervisor/supervisord.conf
ExecStop= /usr/bin/supervisorctl shutdown 
ExecReload=/usr/bin/supervisorctl reload
Restart=on-failure
RestartSec=42s
KillMode=process 

[Install]
WantedBy=multi-user.target
  • 启动
sudo systemctl start supervisord.service
  • 激活开机启动
sudo systemctl enable supervisord.service
  • 察看运行情况
sudo systemctl status supervisord.service

常用命令使用

激活开机启动
sudo systemctl enable supervisord.service

取消开机启动
sudo systemctl disable supervisord.service

启动服务
sudo systemctl start supervisord.service

停止服务
sudo systemctl stop supervisord.service

重启服务
sudo systemctl restart supervisord.service

查看服务当前状态
sudo systemctl status supervisord.service

查看所有已启动的服务
sudo systemctl list-units --type=service

修改service文件后,重载服务
sudo systemctl daemon-reload

用户级开机自启动步骤:

  • systemd 支持普通用户定义的 unit[s] 开机启动
systemctl --user enable/disable/start/stop/daemon-reload... xxx.timer/xxx.service...
  • 注:--user 不可省略,因为默认是执行 systemctl [--system]
  • 对于系统级 unit[s] 来说,不必显式添加 --system 选项
  • 用户自定义的 unit[s] 可以放置在如下四个位置
/usr/lib/systemd/user:优先级最低,会被高优先级的同名 unit 覆盖
~/.local/share/systemd/user
/etc/systemd/user:全局共享的用户级 unit[s]
~/.config/systemd/user:优先级最高
  • 注:
  • 用户级 unit 与系统级 unit 相互独立,不能互相关联或依赖
  • 用户级 unit 运行环境用 default.target,系统级通常用 multi-user.target
  • 即使用户不登陆,其定制的服务依然会启动
  • 增加service文件
sudo vim /usr/lib/systemd/user/supervisord.service
  • 内容如下:
# supervisord.service进程管理服务文件
[Unit]
Description=Process Monitoring and Control Daemon   # 内容自己定义:Description=Supervisor daemon
After=rc-local.service nss-user-lookup.target

[Service]
Type=forking
ExecStart=/usr/bin/supervisord -c /etc/supervisor/supervisord.conf
ExecStop= /usr/bin/supervisorctl shutdown 
ExecReload=/usr/bin/supervisorctl reload
Restart=on-failure
RestartSec=42s
KillMode=process 

[Install]
WantedBy=default.target
  • 激活开机启动
systemctl --user enable supervisord.service
  • 启动服务
systemctl --user start supervisord.service
  • 察看运行情况
systemctl --user status supervisord.service

常用命令使用

激活开机启动
systemctl --user enable supervisord.service

取消开机启动
systemctl --user disable supervisord.service

启动服务
systemctl --user start supervisord.service

停止服务
systemctl --user stop supervisord.service

重启服务
systemctl --user restart supervisord.service

查看服务当前状态
systemctl --user status supervisord.service

修改service文件后,重载服务
systemctl --user daemon-reload

纠错,疑问,交流: 请进入讨论区点击加入Q群

获取最新文章: 扫一扫右上角的二维码加入“创客智造”公众号


标签: ubuntu系统入门教程