核心提示:系统的服务在开机时一般都可以自动启动,那在linux系统下如果想要程序在开机时自动启动怎么办?我们知道在 windows系统“开始”-->“所有程序”-->“启动”里面放个快捷方式就行,那Linux系统下呢?...

这也是一个比较简单的问题,有不少的方法可以解决,这里介绍三种方法。因为是简单介绍,所以具体细节不是很详细,可以通过man看看相关手册。

一、/etc/rc.local
这是一个最简单的方法,编辑“/etc/rc.local”,把启动程序的shell命令输入进去即可(要输入命令的全路径),类似于windows下的“启动”。

使用命令 vi  /etc/rc.local   

然后在文件最后一行添加要执行程序的全路径。

例如,每次开机时要执行一个haha.sh,这个脚本放在/opt下面,那就可以在“/etc/rc.local”中加一行“/opt/./haha.sh”,或者两行“cd /opt”和“./haha.sh”。

二、crontab(类似于windows的任务计划服务)
通过crontab可以设定程序的执行时间表,例如让程序在每天的8点,或者每个星期一的10点执行一次。
crontab -l 列出时间表;
crontab -e编辑时间表;
crontab -d删除时间表;
 
“-l”没什么可说的,就是一个查看而已;
“-e”是编辑,和vi没什么差别(其实就是用vi编辑一个特定文件);
“-d”基本不用,因为它把该用户所有的时间表都删除了,一般都是用“-e”编辑把不要了的时间表逐行删除;
 
那到底该如何编辑呢?
 
crontab文件的格式是:M H D m d CMD。
一个6个字段,其中最后一个CMD就是所要执行的程序,如haha.sh。
M:分钟(0-59)
H:小时(0-23)
D:日期(1-31)
m:月份(1-12)
d:一个星期中的某天(0-6,0代表周日)
 
这5个时间字段用空格隔开,其值可以是一个数字,也可以用逗号隔开的多个数字(或其他) ,如果不需设置,则默认为“*”。
 
例如,每天的8点5分执行haha.sh,就是“5 8 * * * /opt/./haha.sh”。
 
好像和“开机程序自动启动”扯远了,现在回归正题。其实上面介绍的crontab的功能已经具备了开机自动启动的能力,可以写一个监测脚本,每5分钟执行一次(*/5 * * * * ./haha.sh),如果程序不在了就重新启动一次。
 
三、注册系统服务
操作系统自带的服务,如ssh,ftp等等,开机都是自动启动的,我们也可以通过这种方式让自己开发的程序提高“身价”。

比如我想把某个已经安装了的服务添加为系统服务,可以执行以下命令:

chkconfig --add 服务名称          (首先,添加为系统服务,注意add前面有两个横杠)

chkconfig -leve 启动级别 服务名 on         

(说明,3级别代表在命令行模式启动,5级别代表在图形界面启动,on表示开启)

 

chkconfig -leve 启动级别 服务名 off              

(说明,off表示关闭自启动)

 

例如:chkconfig -level 3 mysql on                     (说明:让mysql服务在命令行模式,随系统启动)

也可以使用   chkconfig --add 服务名称    来删除系统服务

******************************************************************************************

如果要查看哪些服务被添加为系统服务可以使用命令 :

   ntsysv  或者chkconfig --list

如果要查看哪些程序被添加为自启动,可以使用命令  :

cat   /etc/rc.local    (查看这个文件中添加了哪些程序路径)

*******************************************************************************************

 下面举例说说,如何把一个shell脚本添加为系统服务,并跟随系统启动:

可以看到“/etc/rc.d/init.d”下有很多的文件,每个文件都是可以看到内容的,其实都是一些shell脚本。
系统服务的启动就是通过“/etc/rc.d/init.d”中的脚本文件实现的。我们也可以写一个自己的脚本放在这里。
脚本文件的内容也很简单,类似于这个样子(例如起个名字叫做“hahad”):
. /etc/init.d/functions
start() {
        echo "Starting my process "
        cd /opt
        ./haha.sh
}
stop() {
        killall haha.sh
        echo "Stoped"
}
写了脚本文件之后事情还没有完,继续完成以下几个步骤:
chmod +x hahad                    #增加执行权限
chkconfig --add hahad             #把hahad添加到系统服务列表
chkconfig hahad on                 #设定hahad的开关(on/off)
chkconfig --list hahad               #就可以看到已经注册了hahad的服务

 
这时候才完成了全部工作。

-----------------------------------

2015年9月8日

vi /etc/init.d/rc.local 在最后一行添加 /home/dgx/namedmonitor.sh 即可

转载于:https://www.cnblogs.com/bluewelkin/p/4790576.html

linux开机自动启动相关推荐

  1. linux下添加自动启动项,linux 开机自动启动脚本方法

    #service servicename status是当前状态 #chkconfig --list servicename是查看启动状态,也就是是否开机自动启动 首先写好脚本,如 mysql,把它放 ...

  2. linux开机自动启动数据库,mysql随linux开机自动启动

    mysql随linux开机自动启动 一.方法一 利用mysql.server来制作启动程序,实质也是调用的mysqld_safe cp /usr/local/mysql/share/mysql/mys ...

  3. linux开机自动启动vnc,怎样实现重启linux后自动启动vncserver服务?

    linux开机自动启动vncserver服务,需要先保证VNC安装无问题以及各种配置以及防火墙正常,下面是vncserver服务安装.配置以及设置自启动的步骤: 首先需要检查一下服务器是否已经安装了V ...

  4. linux开机自动启动开机日志,设置linux开机自动运行脚本

    实现目标:在Linux启动时,自动运行位于普通用户test1根目录下的脚本程序test.py,该程序会在每次执行时自动向本地日志文件追加一条记录,源码如下: from datetime import ...

  5. Linux开机自动启动某一程序

    Linux开机启动程序详解 我们假设大家已经熟悉其它操作系统的引导过程,了解硬件的自检引导步骤,就只从Linux操作系统的引导加载程序(对个人电脑而言通常是LILO)开始,介绍Linux开机引导的步骤 ...

  6. linux开机自动启动浏览器,Ubuntu 14.04 LTS 开机自动打开浏览器、vlc播放器等

    1. 安装 upstart sudo apt-get install upstart 2. 安装 vlc 播放器 sudo apt-get install vlc 3. 安装谷歌 去除login ke ...

  7. linux 开机自动启动服务

    在linux下可以通过如下命令自动启动服务: chkconfig --level levels serviceName on 其中,levels表示机器的运行级别(0~6级),serviceName ...

  8. Linux开机自动启动ORACLE设置

    1.安装好Oracle数据库后: 执行 dbstart和dbshut会提示: [oracle@oracle11g ~]$ dbstart ORACLE_HOME_LISTNER is not SET, ...

  9. linux 开机自动启动脚本方法

    1)redhat的启动方式和执行次序是:       加载内核       执行init程序       /etc/rc.d/rc.sysinit # 由init执行的第一个脚本       /etc ...

最新文章

  1. 【转】C++一次读取整个文件
  2. linux内核实现ipsec,IP XFRM配置示例:利用linux kernel自带的IPSec实现,手动配置IPSec...
  3. 理性看待计算机专业,理性看待西电优研政策!本校计算机考研党须知
  4. POJ 3278 Catch That Cow
  5. 【干货】数据挖掘比赛大数据处理和建模经验
  6. 二、SpringBoot配置文件讲解
  7. 又是一个秋天~~~~
  8. yaf零基础学习总结7-学习使用Yaf中的插件
  9. wincc7.4安装记录
  10. [C++]什么是句柄?为什么会有句柄?
  11. Redis安装基本步骤
  12. 你若安好便是晴天——林徽因传
  13. 夏季养生:夏季养生必备五种中药材
  14. 让人春分日 哈工科教115166.弹珠游戏
  15. 【图解经典算法题】如何用一行代码解决约瑟夫环问题
  16. Linux多线程(线程互斥与线程锁)
  17. 马化腾从CFIDO到QQ(CFIDO BBS回忆录)
  18. 液晶面板价格继续下跌,大屏电视跌幅更大,小屏跌无可跌
  19. 中软国际南京分公司发offer想问问到底咋样,能不能去
  20. Revit中如何连接消火栓-Revit中快速连接设备

热门文章

  1. Python笔记总结(1)
  2. 浅谈 PHP 与手机 APP 开发(API 接口开发)
  3. 一意孤行,360继续奉行互联网恐怖主义
  4. 带你了解超大规模数据中心究竟有何不同?
  5. 基于MVC4+EasyUI的Web开发框架经验总结(13)--DataGrid控件实现自己主动适应宽带高度...
  6. Sound Mixer Fader
  7. Oracle 常见的33个等待事件
  8. 工作?生活?快乐吗?
  9. 新书《活用UML-需求分析高手》 序
  10. java socket负载均衡_Java Socket分发服务负载均衡