欢迎来到好人卡资源网,专注网络技术资源收集,我们不仅是网络资源的搬运工,也生产原创资源。寻找资源请留言或关注公众号:烈日下的男人

whatshotLinux创建systemd启动项实现开机自启动

linux sky995 来源:老虎会游泳 2年前 (2022-01-14) 617次浏览 0个评论

本文及资源最后更新时间 2022-01-14 by sky995

以下所有操作都需要root权限,请使用sudo -i

创建如下文件:

/etc/systemd/system/myservice.service

内容:

[Unit]
Description=my service
After=network.target
StartLimitIntervalSec=0

[Service]
Type=simple
Restart=always
RestartSec=1
User=root
ExecStart=/path-to/myservice.sh

[Install]
WantedBy=multi-user.target

/path-to/myservice.sh是要运行的程序,它需要一直保持运行,不会退出。如果/path-to/myservice.sh退出,systemd会以1秒一次的频率不断重启/path-to/myservice.sh

如果你的/path-to/myservice.sh在运行完成后会退出,不需要自动重启,请把Restart=always改成Restart=no


After=network.target表示联网后才会启动这个服务。如果你需要联网前启动,可以删掉。


然后启动:

systemctl start myservice

设为开机自启动:

systemctl enable myservice

查看运行状态:

systemctl status myservice

查看日志:

journalctl -u myservice

修改myservice.service后,刷新systemd守护进程使修改生效:

systemctl daemon-reload

停止服务:

systemctl stop myservice

取消开机自启动:

systemctl disable myservice

删除服务:

rm /etc/systemd/system/myservice.service
思路是ExecStart=/path-to/myservice.sh指向一个脚本,你可以自己在脚本里cd到正确的WorkingDirectory,加上正确的参数启动真正的程序。
使用exec ./xxx启动程序没有额外开销,不会残留bash进程。
  1. 输入谁的密码:
    • su输入的是root用户的密码,sudo输入的是当前用户的密码。
    • 如果当前用户已经是root,执行su不需要输入密码。这就是sudo su只需要输入一次密码的原因,它首先通过sudo切换到root用户,然后以root用户身份执行su,于是不需要再输入root用户的密码。
  2. 工作目录切换:
    • 不带参数的su不会切换工作目录,也就是说,执行后依然停留在当前目录。
    • su -lsudo -i会把工作目录切换到root用户的家目录,相当于在切换到root用户之后执行了cd $HOME
  3. 加载配置文件:
    • 不带参数的su不会加载root用户的配置文件(比如~/.profile~/.bashrc等)。其他命令则会加载。
  4. 缩写:
    • su -su -l的缩写,两者功能相同。
  5. 状态保持:
    • 同一个终端执行sudo一次后,5分钟内不需要输入密码。
    • su没有状态保持功能,每次都需要重新输入密码。

所以:

  • sudo su -sudo su -lsudo -i完全相同。
  • sudo su和上述三个命令的区别是:
    1. 它不会切换工作目录,切换到root后依然停留在当前目录。
    2. 它不加载root用户的配置文件(比如~/.profile~/.bashrc等)。
  • 如果不加sudo,直接使用su,就需要输入root用户的密码,必须知道root用户的密码才能成功。

  • sudo -isudo su -sudo su -lsu -su -l:进入 login shell。
  • sudo susu:进入 non-login shell。

好人卡资源网 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:whatshotLinux创建systemd启动项实现开机自启动
喜欢 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址