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