配置机自启脚本地址/etc/rc.local ,在关机卡死 a stop job running for /etc/rc.local Compatibility (*s / no limit)
给自己的程序添加开机自启
写了个脚本添加,并把执行脚本命令添加到了卡机启动中/etc/rc.local
(不是一个设置开机启动的好办法)
开机的时候存在失败,因为依赖的服务可能还没启动脚本就启动了
只能在脚本最上面sleep一会了(全靠命)
接着就是令人头疼的问题,关机的时候界面卡死在a stop job running for /etc/rc.local Compatibility (*s / no limit)
各种写关机脚本关闭开启启动的程序,但是都没执行。(这个失败的方案参考https://my.oschina.net/bobchow/blog/812132)
无奈放弃这个方式
正确的解决方式是在rc-local.service 的配置里面作文章
vim /lib/systemd/system/rc-local.service
# This file is part of systemd.
#
# systemd is free software; you can redistribute it and/or modify it
# under the terms of the GNU Lesser General Public License as published by
# the Free Software Foundation; either version 2.1 of the License, or
# (at your option) any later version.
# This unit gets pulled automatically into multi-user.target by
# systemd-rc-local-generator if /etc/rc.local is executable.
[Unit]
Description=/etc/rc.local Compatibility
ConditionFileIsExecutable=/etc/rc.local
After=network.target
[Service]
Type=forking
ExecStart=/etc/rc.local start
TimeoutSec=0
RemainAfterExit=yes
设置里面的TimeoutSec=30
这样关机就没啥问题了
当然正确的做法应该是
ExecStop = /**/** stop
配置一个stop的脚本,在stop 脚本中关闭自己启动的程序