下面用自启动apache为例:
有两种方法可以让Apache在系统启动时自动启动
1. 在/etc/rc.d/rc.local中增加启动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/rc.local 文件,在文件最末加上一行”xinit”或”startx”,可以在开机启动后直接进入X-Window。
2.登录时自动运行程序
用户登录时,bash首先自动执行系统管理员建立的全局登录script :/etc/profile。然后bash在用户起始目录下按顺序查找三个特殊文件中的一个:/.bash_profile、/.bash_login、 /.profile,但只执行最先找到的一个。
因此,只需根据实际需要在上述文件中加入命令就可以实现用户登录时自动运行某些程序(类似于DOS下的Autoexec.bat)。
3.退出登录时自动运行程序
退出登录时,bash自动执行个人的退出登录脚本/.bash_logout。例如,在/.bash_logout中加入命令”tar -cvzf c.source.tgz *.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″ < plan.txt at>Ctr-D
Job 1 at 2000-11-09 12:00
2000-11-09 12:00时候自动发一标题为”Have a lunch”,内容为plan.txt文件内容的邮件给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 test.sh
首先,linux随机启动的服务程序都在/etc/init.d这个文件夹里,里面的文件全部都是脚本文件(脚本程序简单的说就是把要运行的程序写 到一个 文件里让系统能够按顺序执行,类似windows下的autorun.dat文件),另外在/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,这样系统才能让它随机启动。
From: http://wenku.baidu.com/link?url=VTbY24K54Ge8AKtOeey261pS3KdJwt02Ux-Rclrb9Rlx4pgouYU62Hk3tc8AaeDpt2BDpBNQa3kCMlbO03ADbxvqmlrmyKWeK0VjnOv4ZqC
另请参阅:http://www.cnblogs.com/nerxious/archive/2013/01/18/2866548.html
相关推荐
linux下设置开机自动启动程序.doc
在linux下设置开机自动启动程序的方法借鉴.pdf
在linux下设置开机自动启动程序的方法.pdf
在linux下设置开机自动启动程序的方法.doc
在linux下如何设置开机自动启动程序.pdf
arm-linux 通过修改启动项,开机直接启动自己开发的程序,而且不会启动系统携带的桌面环境。这个方法可以解决arm开发qt界面程序中花屏引起的程序无法正常显示的问题。
基于Qt的开机自启,适用于Linux 环境下的程序自启动,易于重用
以openSUSE 11和10 sp2启动文件的设置为例,开机设置程序自动执行
在redhat环境下设置oracle10g开机自动启动
Linux有自己一套完整的启动体系,抓住了linux启动的脉络,linux的启动过程将不再神秘。本文介绍了让Linux系统的程序在开机时自动运行的方法。
客户需要开机后自动启动wifi-adb服务,所以就在程序里加了一下,开机后会自动打开wifi-adb连接服务,前提是的设备wifi是ok的,就可以通过wifi 来连接adb了。
一、Python开机自动运行 假如Python自启动脚本为 auto.py 。那么用root权限编辑以下文件: sudo vim /etc/rc.local 如果没有 rc.local 请看 这篇文章 在exit 0上面编辑启动脚本的命令 /usr/bin/python3 /home/...
如果服务器经常重启比如断电,自己开发的非系统程序,需要开机启动,在rhel5及以下版本呢,可以很简单配置 但是高版本无效,可以采用以下方法 只需要一步,就能达到目的!
ARM-Linux 启动 ARM-Linux的启动全过程:内核自解压阶段——>内核引导阶段——>内核初始化阶段——>BusyBox初始化阶段。
主要为大家详细介绍了Jexus开机自动启动的配置方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
适用人群:生产环境运维人员,需要大量启动jar包的人员、需要设置开机自启动jar包的人员。 使用方法:(1)通过sh autoStart.sh可以启动目录下的所有jar包。(2)通过sh autoStart.sh /home/issue/svr-test 可以启动...
6. 关于开机程序的自动启动 1. 关于linux的启动 init是所有进程的顶层 init读取/etc/inittab,执行rc.sysinit脚本 (注意文件名是不一定的,有些unix甚至会将语句直接写在inittab中) rc.sysinit脚本作了很多工作:
linux上的socket代理服务程序,支持开机自动启动,service proxy {start|stop|restart|status} 和linux上其他服务类似,有对应的配置文件。 此程序在redhat Enterprises 5.0 、 ubuntu、ubuntu arm linux 上编译...
开机自动登录Linux,并自动运行XWindow应用程序,有其特殊的应用背景,如基于Linux平台的监控系统,Linux启动后不需要身份验证,而直接运行监控程序等等。本文以Redhat7.2为平台,结合Linux启动过程,介绍了如何避免...