来源:自学PHP网 时间:2015-04-14 11:51 作者: 阅读:次
[导读] 系统的服务在开机时一般都可以自动启动,那我们程序自己写的程序呢?windows系统在“开始”——〉“所有程序”——〉“启动”里面放个快捷方式就行,那Linux下呢?这也是一个比较...
系统的服务在开机时一般都可以自动启动,那我们程序自己写的程序呢?
windows系统在“开始”——〉“所有程序”——〉“启动”里面放个快捷方式就行,那Linux下呢? 这也是一个比较简单的问题,有不少的方法可以解决,这里介绍三种方法。因为是简单介绍,所以具体细节不是很详细,可以通过man看看相关手册。 一、/etc/rc.local 这是一个最简单的方法,编辑“/etc/rc.local”,把启动程序的shell命令输入进去即可,类似于windows下的“启动”。 例如,每次开机时要执行一个haha.sh,这个脚本放在/opt下面,那就可以在“/etc/rc.local”中加一行“/opt/./haha.sh”,或者两行“cd /opt”和“./haha.sh”。 二、crontab 通过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等等,开机都是自动启动的,我们也可以通过这种方式让自己开发的程序提高“身价”。 可以看到“/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的服务 这时候才完成了全部工作。 |
自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习
京ICP备14009008号-1@版权所有www.zixuephp.com
网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com