下边用自启动apache为例;
自启动脚本:
/usr/local/apache2/bin;
./apachectlstart
文件坐落/etc/rc.d/init.d下,名为apached,注意要可执行.
#chmod+x/etc/rc.d/init.d/apached//设置文件的属性为可执行
#ln-s/etc/rc.d/init.d/apached/etc/rc3.d/S90apache//构建软联接,快捷方法
#ln-s/etc/rc.d/init.d/apached/etc/rc0.d/K20apache
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-cvzfc.source.tgz*.c",则在每次退出登入时手动执行"tar"命令备份*.c文件。
4.定期手动运行程序
Linux有一个称为crond的守护程序,主要功能是周期性地检测/var/spool/cron目录下的一组命令文件的内容,并在设定的时间执行这种文件中的命令。用户可以通过crontab命令来构建、修改、删除那些命令文件。
比如,构建文件crondFile,内容为"00923Jan*HappyBirthday"嵌入式linux培训,运行"crontabcronFile"命令后,每每元月23日下午9:00系统手动执行"HappyBirthday"的程序("*"表示不管当日是礼拜几)。
5.定时手动运行程序一次
定时执行命令at与crond类似(但它只执行一次):命令在给定的时间执行,但不手动重复。at命令的通常格式为:at[-ffile]time,在指定的时间执行file文件中所给出的所有命令。也可直接从鼠标输入命令:
$ at 12:00 at>mailto Roger -s ″Have a lunch″ Ctr-D Job 1 at 2000-11-09 12:00
2000-11-0912:00时侯手动发一标题为"Havealunch",内容为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
脚本写完要更改一下权限chmodu+xtest.sh
首先,linux随机启动的服务程序都在/etc/init.d这个文件夹里,上面的文件全部都是脚本文件(脚本程序简单的说就是把要运行的程序讲到一个文件里让系统才能按次序执行,类似windows下的autorun.dat文件),另外在/etc这个文件夹里还有例如名为rc1.d,rc2.d仍然到rc6.d的文件夹,这种都是linux不同的runlevel,我们通常步入的Xwindows多用户的运行级别是第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这儿linux端口映射,其中usr表示是属于用户的,bin在linux里表示可以执行的程序。这样,我就可以编撰一个脚本程序,把它放在/etc/init.d里,之后在rc5.d里做一个相应的软链接就可以了。
这个脚本虽然很简单,就两行:
#!/bin/bash /usr/bin/scim
第一行是申明用哪些终端运行这个脚本linux自启动c程序,第二行就是要运行的命令。
还须要注意的一点是,在rc5.d里,每位链接的名子都是以S或则K开头的,S开头的表示是系统启动是要随机启动的,K开头的是不随机启动的。这样,你就可以晓得,假如我要那个服务随机启动,就把它名子第一个字母K改成S就可以了,其实,把S改成K后,这个服务就不能随机启动了。为此,我这个链接还要起名为SXXXlinux自启动c程序,这样系统能够让它随机启动。