在linux下如何设置开机自动启动程序

在linux下如何设置开机自动启动程序


2024年5月17日发(作者:2007office钥匙密码)

在linux下如何设置开机自动启动程序?

文章来源:先锋网络 添加时间:2009-11-3 10:30:19

下面用自启动apache为例:

有两种方法可以让Apache在系统启动时自动启动

1. 在/etc/rc.d/中增加启动apache的命令,例如:

/usr/local/httpd/bin/apachectl start

2. 将apache注册为系统服务

首先将apachectl命令拷贝至/etc/rc.d/init.d目录下,改名为httpd

使用编辑器打开httpd文件,并在第一行#!/bin/sh下增加两行文字如下

# chkconfig: 35 70 30

# description: Apache

接着注册该服

chkconfig –add httpd

一切OK了,启动服务

service httpd start

其中所增加的第二行中三个数字第一个表示在运行级别3和5下启动apache,第二、三是关于

启动和停止的优先级配置,无关紧要。

在Red Hat Linux中自动运行程序

1.开机启动时自动运行程序

Linux加载后, 它将初始化硬件和设备驱动, 然后运行第一个进程init。init根据配置文件继

续引导过程,启动其它进程。通常情况下,修改放置在 /etc/rc或 /etc/rc.d 或 /etc/rc?.d

目录下的脚本文件,可以使init自动启动其它程序。例如:编辑 /etc/rc.d/ 文件,

在文件最末加上一行”xinit”或”startx”,可以在开机启动后直接进入X-Window。

2.登录时自动运行程序

用户登录时,bash首先自动执行系统管理员建立的全局登录script :/etc/profile。然后bash

在用户起始目录下按顺序查找三个特殊文件中的一个:/.bash_profile、/.bash_login、

/.profile,但只执行最先找到的一个。

因此,只需根据实际需要在上述文件中加入命令就可以实现用户登录时自动运行某些程序(类

似于DOS下的)。

3.退出登录时自动运行程序

退出登录时,bash自动执行个人的退出登录脚本/.bash_logout。例如,在/.bash_logout中

加入命令”tar -cvzf *.c”,则在每次退出登录时自动执行 “tar” 命令

备份 *.c 文件。

4.定期自动运行程序

Linux有一个称为crond的守护程序,主要功能是周期性地检查 /var/spool/cron目录下的一

组命令文件的内容,并在设定的时间执行这些文件中的命令。用户可以通过crontab 命令来建

立、修改、删除这些命令文件。

例如,建立文件crondFile,内容为”00 9 23 Jan * HappyBirthday”,运行”crontab cronFile”

命令后,每当元月23日上午9:00系统自动执行”HappyBirthday”的程序(”*”表示不管

当天是星期几)。

5.定时自动运行程序一次

定时执行命令at 与crond 类似(但它只执行一次):命令在给定的时间执行,但不自动重复。

at命令的一般格式为:at [ -f file ] time ,在指定的时间执行file文件中所给出的所有

命令。也可直接从键盘输入命令:

$ at 12:00

at>mailto Roger -s ″Have a lunch″ <

at>Ctr-D

Job 1 at 2000-11-09 12:00

2000-11-09 12:00时候自动发一标题为”Have a lunch”,内容为文件内容的邮

件给Roger。

#!/bin/bash

RESTART=”„„..” #里面写相应服务代码

START=”„„.”

STOP=”„„„.”

case “$1″ in

restart)

$RESTART

echo “„„”

;;

start)

$START

echo “„„”

;;

STOP)

$STOP

echo “„„”

;;

*)

echo “Usage: $0 {restart | start | stop}”

exit 1

esac

exit 1

脚本写完要修改一下权限 chmod u+x

首先,linux随机启动的服务程序都在/etc/init.d这个文件夹里,里面的文件全部都是脚本

文件(脚本程序简单的说就是把要运行的程序写 到一个 文件里让系统能够按顺序执行,类似

windows下的文件),另外在/etc这个文件夹里还有诸如名为rc1.d, rc2.d一

直到rc6.d的文件夹,这些都是linux不同的runlevel,我们一般进入的X windows多用户的

运行级别是第5级,也就是rc5.d,在这个文件夹下的脚本文件就是运行第5级时要随机启动

的服务程序。需要注意的是,在每个rc (1-6).d文件夹下的文件其实都是/etc/init.d文件夹

下的文件的一个软连接(类似windows中的快捷方式),也就是说,在 /etc/init.d文件夹下

是全部的服务程序,而每个rc(1-6).d只链接它自己启动需要的相应的服务程序!

要启动scim(某一程序),我们首先要知道scim程序在哪里,用locate命令可以找到,scim

在/usr/bin/scim这里,其中usr表 示是 属于用户的,bin在linux里表示可以执行的程序。

这样,我就可以编写一个脚本程序,把它放到/etc/init.d里,然后在rc5.d里做一个相 应的

软链接就可以了。

这个脚本其实很简单,就两行:

#!/bin/bash

/usr/bin/scim

第一行是声明用什么终端运行这个脚本,第二行就是要运行的命令。

还需要注意的一点是,在rc5.d里,每个链接的名字都是以S或者K开头的,S开头的表示是

系统启动是要随机启动的,K开头的是不随机启动的。这 样,你就可以知道,如果我要哪个服

务随机启动,就把它名字第一个字母K改成S就可以了,当然,把S改成K后,这个服务就不

能随机启动了。因此,我这个链接 还要起名为SXXX,这样系统才能让它随机启动。


发布者:admin,转转请注明出处:http://www.yc00.com/xitong/1715925726a2692890.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信