CentOS设置服务开机启动的两种方法

一、通过服务的方式设置自启动

1、  在/etc/init.d 下建立相关程序的启动脚本 

        /etc/rc.d/init.d
 

2、  chkconfig --add mysqld(添加服务到chkconfig列表中) 

  chkconfig --del mysqld(从chkconfig移除服务)

  chkconfig --list(查询当前所有自动启动的服务)

3、 chkconfig mysqld on (开机启动) 

  chkconfig mysqld off (关闭开机启动)

 

二、rc.local 自定义开机程序 

      /etc/rc.local  这个配置文件会在用户登陆之前读取,这个文件中写入了什么命令,在每次系统启动时都会执行一次。也就是说,如果有任何需要在系统启动时运行的工作,则只需写入 /etc/rc.d/rc.local 配置文件即可。

#编辑文件
vi /etc/rc.local 

# ------------------------------
#在文件的最后追加相要执行的脚本指令

#例:添加可扫行文件全路径 
/home/username/ExecutableFile

注意:添加的启动指令若不能自动挂起,阻塞执行,会导致无法进入系统,在 rc.local 使用阻塞指令比较危险,请谨慎使用。

三、sh非阻塞脚本

#! /bin/bash

# chkconfig: 2345 10 90
# description: xxxxxx auto start process

#subset1 自动启动
nohup /home/XXXXX.exe &> /dev/null & echo $! > pidfile.txt

四、常见错误及解决办法

1、service xxxxxx does not support chkconfig
 

添加下面两句到 #!/bin/bash 之后,问题解决。

# chkconfig: 2345 10 90 
# description: xxxxxxxxxxxxxxxxxxxxxxxxxxx


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

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


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

2、 /bin/bash^M: bad interpreter: No such file or directory

原因:如果这个脚本在Windows下编辑过,就有可能被转换成Windows下的dos文本格式了,这样的格式每一行的末尾都是以\r\n来标识,它的ASCII码分别是0x0D,0x0A。如果你将这个脚本文件直接放到Linux上执行就会报/bin/bash^M: bad interpreter错误提示。
 

1)、首先你先要检查一下看看你的脚本文件是不是这个问题导致的,用vi命令打开要检查的脚本文件,然后用命令检查一下,看看是不是dos字样

:set ff?

2)、如果是dos格式的,既fileformat=dos,则执行以下指令,问题解决

:set ff=unix
:qw

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值