centos7 的开机自启动脚本 /etc/rc.d/rc.local

rc.local和 rc-local.service

从centos 7 开始全面使用systemd以后,/etc/rc.d/rc.local 也改为由systemd的systemctl status rc-local.service服务调用。且默认不启用,如果要启用他需要添加x权限

chmod +x /etc/rc.d/rc.local
##写入自启动命令,重启系统
##然后查看服务状态,可以看到他拉起来的服务了
systemctl status rc-local.service

注意1

systemd默认使用cgroup来隔离每个服务的系统资源,如果你在rc.local里有mount 这种操作,你在终端登录后是看不到的。
这时需要在rc.loacl中设置,让脚本所处的进程,脱离cgroup限制,如下

if [ -d /sys/fs/cgroup/systemd ]; then
    echo $$ > /sys/fs/cgroup/systemd/tasks
fi

How to launch a process outside a systemd control group
Cgroups 与 Systemd

注意2:

如果用到用户环境,需要su切换过去执行,否则会执行失败

su - -c "command"

© 2021, 新之助meow. 原创文章转载请注明: 转载自http://www.xinmeow.com

0.00 avg. rating (0% score) - 0 votes
点赞