Linux【9】-进程管理8-1--开机启动服务/脚本

一、添加开机自启服务

在CentOS 7中添加开机自启服务非常方便,只需要两条命令(以Jenkins为例):

systemctl enable jenkins.service #设置jenkins服务为自启动服务
sysstemctl start  jenkins.service #启动jenkins服务

二、添加开机自启脚本

在centos7中增加脚本有两种常用的方法,以脚本autostart.sh为例:

#!/bin/bash
#description:开机自启脚本
/usr/local/tomcat/bin/startup.sh  #启动tomcat

方法一

1、赋予脚本可执行权限(/opt/script/autostart.sh是你的脚本路径)

chmod +x /opt/script/autostart.sh

2、打开/etc/rc.d/rc/local文件,在末尾增加如下内容

/opt/script/autostart.sh

3、在centos7中,/etc/rc.d/rc.local的权限被降低了,所以需要执行如下命令赋予其可执行权限

chmod +x /etc/rc.d/rc.local

方法二(我用的该方法)

1、将脚本移动到/etc/rc.d/init.d目录下

mv  /opt/script/autostart.sh /etc/rc.d/init.d

2、增加脚本的可执行权限

chmod +x  /etc/rc.d/init.d/autostart.sh

3、添加脚本到开机自动启动项目中

cd /etc/rc.d/init.d
chkconfig --add autostart.sh
chkconfig autostart.sh on

三、报错

1.service XXX does not support chkconfig

有时候为了方便管理,我们常常喜欢在Linux中将之安装为服务,然后就可以使用服务来管理。

但是当我们运行安装服务的命令时候,假设服务名为myservice

#chkconfig --add myservice

常常会出现

service myservice does not support chkconfig

我们一般在脚本开头加入下面两句就好了

#gedit /etc/init.d/myservice

添加下面两句到 #!/bin/bash 之后。

# chkconfig: 2345 10 90 
# description: myservice ....

其中2345是默认启动级别,级别有0-6共7个级别。

等级0表示:表示关机   
等级1表示:单用户模式   
等级2表示:无网络连接的多用户命令行模式   
等级3表示:有网络连接的多用户命令行模式   
等级4表示:不可用   
等级5表示:带图形界面的多用户模式   
等级6表示:重新启动

10是启动优先级,90是停止优先级,优先级范围是0-100,数字越大,优先级越低。

参考资料

药企,独角兽,苏州。团队长期招人,感兴趣的都可以发邮件聊聊:tiehan@sina.cn
个人公众号,比较懒,很少更新,可以在上面提问题,如果回复不及时,可发邮件给我: tiehan@sina.cn