


在Red Hat Linux中自動運(yùn)行程序
1.開機(jī)啟動時自動運(yùn)行程序
Linux加載后, 它將初始化硬件和設(shè)備驅(qū)動, 然后運(yùn)行第一個進(jìn)程init。init根據(jù)配置文件繼續(xù)引導(dǎo)過程,啟動其它進(jìn)程。通常情況下,修改放置在 /etc/rc或 /etc/rc.d 或 /etc/rc?.d 目錄下的腳本文件,可以使init自動啟動其它程序。例如:編輯 /etc/rc.d/rc.local 文件,在文件最末加上一行“xinit”或“startx”,可以在開機(jī)啟動后直接進(jìn)入X-Window。
2.登錄時自動運(yùn)行程序
用戶登錄時,bash首先自動執(zhí)行系統(tǒng)管理員建立的全局登錄 :/ect/profile。然后bash在用戶起始目錄下按順序查找三個特殊文件中的一個:/.bash_profile、/.bash_login、/.profile,但只執(zhí)行最先找到的一個。
因此,只需根據(jù)實(shí)際需要在上述文件中加入命令就可以實(shí)現(xiàn)用戶登錄時自動運(yùn)行某些程序(類似于DOS下的Autoexec.bat)。
3.退出登錄時自動運(yùn)行程序
退出登錄時,bash自動執(zhí)行個人的退出登錄腳本/.bash_logout。例如,在/.bash_logout中加入命令“tar -cvzf c.source.tgz *.c”,則在每次退出登錄時自動執(zhí)行 “tar” 命令備份 *.c 文件。
4.定期自動運(yùn)行程序
Linux有一個稱為crond的守護(hù)程序,主要功能是周期性地檢查 /var/spool/cron目錄下的一組命令文件的內(nèi)容,并在設(shè)定的時間執(zhí)行這些文件中的命令。用戶可以通過crontab 命令來建立、修改、刪除這些命令文件。
例如,建立文件crondFile,內(nèi)容為“00 9 23 Jan * HappyBirthday”,運(yùn)行“crontab cronFile”命令后,每當(dāng)元月23日上午9:00系統(tǒng)自動執(zhí)行“HappyBirthday”的程序(“*”表示不管當(dāng)天是星期幾)。
5.定時自動運(yùn)行程序一次
定時執(zhí)行命令at 與crond 類似(但它只執(zhí)行一次):命令在給定的時間執(zhí)行,但不自動重復(fù)。at命令的一般格式為:at [ -f file ] time ,在指定的時間執(zhí)行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時候自動發(fā)一標(biāo)題為“Have a lunch”,內(nèi)容為plan.txt文件內(nèi)容的郵件給Roger。
6. 啟動Apache
Apache可以手工啟動,或者是在啟動系統(tǒng)時自動啟動。手工啟動通過使用apachectl程序來實(shí)現(xiàn)。命令apachectl start啟動Apache服務(wù);命令apachectl restart或apachectl graceful重新啟動Apache以使修改后的配置生效,graceful參數(shù)發(fā)出的信號是SIGUSR1,restart發(fā)出的信號是SIGHUP。
為了讓Apache在系統(tǒng)啟動時自動啟動,可以在init.d或rc.N文件中寫一個簡單的腳本,或者在rc.local或rc.boot文件中直接調(diào)用apachectl(修改的文件取決于哪種Linux發(fā)布類型)。下面是在Debian/GNU系統(tǒng)中/etc/init.d/目錄下的一個腳本樣例:
#! /bin/bash
#
# apache Start the apache HTTP server.
#
NAME=apache
PATH=/bin:/usr/bin:/sbin:/usr/sbin
DAEMON=/usr/sbin/apache
SUEXEC=/usr/lib/apache/suexec
PIDFILE=/var/run/$NAME.pid
CONF=/etc/apache/httpd.conf
APACHECTL=/usr/sbin/apachectl
trap "" 1
export LANG=C
test -f $DAEMON || exit 0
test -f $APACHECTL || exit 0
if egrep -q -i "^[[:space:]]*ServerType[[:space:]]+inet" $CONF
then
exit 0
fi
case "$1" in
start)
echo -ne "Starting Web server: $NAME.\n"
$APACHECTL start
;;
stop)
echo -ne "Stopping Web server: $NAME.\n"
$APACHECTL stop
;;
exit 0
新文章:
- CentOS7下圖形配置網(wǎng)絡(luò)的方法
- CentOS 7如何添加刪除用戶
- 如何解決centos7雙系統(tǒng)后丟失windows啟動項(xiàng)
- CentOS單網(wǎng)卡如何批量添加不同IP段
- CentOS下iconv命令的介紹
- Centos7 SSH密鑰登陸及密碼密鑰雙重驗(yàn)證詳解
- CentOS 7.1添加刪除用戶的方法
- CentOS查找/掃描局域網(wǎng)打印機(jī)IP講解
- CentOS7使用hostapd實(shí)現(xiàn)無AP模式的詳解
- su命令不能切換root的解決方法
- 解決VMware下CentOS7網(wǎng)絡(luò)重啟出錯
- 解決Centos7雙系統(tǒng)后丟失windows啟動項(xiàng)
- CentOS下如何避免文件覆蓋
- CentOS7和CentOS6系統(tǒng)有什么不同呢
- Centos 6.6默認(rèn)iptable規(guī)則詳解