Ubuntu18 开机启动¶
Ubuntu 16.10开始不再使用initd管理系统,改用systemd,包括用systemctl命令来替换了service和chkconfig的功能。 systemd 默认读取 /etc/systemd/system 下的配置文件,该目录下的文件会链接/lib/systemd/system/下的文件。 比如创建一个叫yujiannan的开机启动服务
-
创建服务配置文件
写入以下配置vim /etc/systemd/system/yujiannan.service
其中关键的是[Unit] Description=/etc/my_serverA.sh Compatibility ConditionPathExists=/etc/yujiannan.sh [Service] Type=forking ExecStart=/etc/yujiannan.sh start TimeoutSec=0 StandardOutput=tty RemainAfterExit=yes SysVStartPriority=99 [Install] WantedBy=multi-user.target
[Service]
中的/etc/yujiannan.sh start
定义了要执行的脚本 -
创建服务执行脚本
编辑内容vim /etc/yujiannan.sh
Warning
- 第一行必须是
#!/bin/sh
否则会出现错误 - 脚本最后必须exit 0,不然systemd会认为service启动失败
#!/bin/sh
echo "this shows yujiannan.sh is start onboot" > /usr/local/my_serverA.start.log
exit 0
chmod +x /etc/yujiannan.sh
sudo systemctl enable yujiannan.service
systemctl start yujiannan.service
systemctl status yujiannan.service