systemd制作开机启动

Arch Linux Systemd自启动脚本

systemd与以往的方式不同,需要用服务来实现自启动,所以要先创建一个服务,在服务中加入需要开机启动的脚本。

在写启动脚本之前,需要创建一个service:

  1. 切换用户到root
    然后进入/etc/systemd/system目录,创建一个.service文件。名称可以自定义,本例中为AutoExec.service

    设置权限:chmod 644 AutoExec.service

  2. 添加以下内容到AutoExec.service:

    [Unit]
    Description=AutoExec
    
    [Service]
    ExecStart=/root/AutoExec.sh
    
    [Install]
    WantedBy=multi-user.target

    上面的ExecStart=/root/AutoExec.sh表明开机会执行/root/AutoExec.sh,那么命令写在这里面就行了。当然,文件是可以任意指定的,改为/etc/rc.local之类的都没问题。

  3. 连接到multi-user.target.wants

    ln -s AutoExec.service multi-user.target.wants/

    (注:这一步是为了让这个服务开机自启动,效果和systemctl enable命令是等价的)

    或者直接使用:

    systemctl enable AutoExec.service

    (推荐直接使用systemctl来实现service自启)

  4. 创建/root/AutoExec.sh

    向里面写入想要开机启动的命令,并设置权限:

    chmod 744 /root/AutoExec.sh

    (文件路径和文件名可随便改,但一定要添加可执行权限)

以上就是设置的全过程,运行systemctl start AutoExec.service试试吧,就能看到AutoExec.sh里的命令执行了,每次开机也是自动执行的。

部分引用自http://lckiss.com/?p=1623

上一篇
下一篇