Linux程序开机自启动

Linux系统程序开机自启动配置

修改启动配置文件

新建一个sh后缀的脚本文件(例如:stratup.sh),把你所要启动的命令编写进去。然后再编辑“**/etc/rc.local”启动配置文件,把脚本文件所在位置的全路径**输入进去即可。

计划定时启动

通过crontab可以设定程序的执行时间表, 例如让程序在每天的9点,或者每个星期一的9点执行一次。

crontab -l 列出时间表;

crontab -e编辑时间表;

crontab -d删除时间表;

“-l”查看时间表;

“-e”是编辑(其实就是用vim编辑一个特定文件);

“-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个时间字段用空格隔开,其值可以是一个数字,也可以用逗号隔开的多个数字(或其他) ,如果不需设置,则默认为“*”。

例如,每天的9点0分执行startup.sh,就是“0 9 * * * /home/programs/./startup.sh”。

注册系统服务

操作系统自带的服务,如ssh,ftp等等,开机都是自动启动的,我们也可以通过这种方式让自己开发的程序伪装成系统服务。

比如我想把某个程序添加为系统服务,可以执行以下命令:

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

chkconfig -leve 启动级别 服务名 on

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

chkconfig -leve 启动级别 服务名 off(说明,off表示关闭自启动)

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

也可以使用 chkconfig –del 服务名称 来删除系统服务

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

ntsysv 或者chkconfig –list

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

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