Cron
a)linux系統下一個自動執行指定任務的程序,包含“時間”、“路徑”、“自動執行腳本”等要素。它有如下特點:
b)命令解析
1.Cron啟動、重啟、關閉
#servicecrondstart/restart/stop
2.瀏覽已存在的Cron列表
#crontab-l
3.編輯當前用戶的crontab,例如:
1).99***/usr/local/bin/cvsb//表示每天早上9點9分執行目錄/usr/local/bin/中的cvsb文件
2).33**0/usr/local/bin/qbbak//表示每周日凌晨3時3分執行目錄/usr/local/bin中的qbbak文件
3).**/6***/usr/local/bin/esbbak //表示每6小時執行一次,執行時間從第一次執行起計算,當然也可以自定義執行時間,比如0*/6***那程序就會在整點執行
4).20,30***/usr/local/bin/esbak//表示在每小時20分和30分時執行
5)*23**2-5/usr/local/bin/esbbak//表示在星期二到星期五每天的23點執行
Daemon
a)運行在后臺的一種特殊進程(守護進程),獨立于控制終端并且周期性地執行某種任務或等待處理某些發生的事件。
b)Linux中專門提供了一個函數來完成這個daemon化的過程,這個函數的原型如下:intdaemon(int__nochdir,int__noclose);如果nochdir的值為0,則將切換工作目錄為根目錄;如果noclose為0,則將標準輸入,輸出和標準錯誤都重定向到/dev/null。
c)守護進程一般在系統啟動時開始運行,除非強行終止,否則直到系統關機都保持運行;
d)守護進程經常以超級用戶(root)權限運行,因為它們要使用特殊的端口(1-1024)或訪問某些特殊的資源。
e)守護進程的工作就是打開一個端口,并且監聽(Listen)等待客戶連接。如果客戶端產生一個連接請求,守護進程就創建(Fork)一個子服務器響應這個連接,而主服務器繼續監聽其他的服務請求。
a)在要處理的命令前加上nohup即可,標準輸出和標準錯誤缺省會被重定向到nohup.out文件中。
b)在結尾中加上"&"來將命令同時放入后臺運行。例如:nohuppingwww.ibm.com&
a)應用程序需要24小時不間斷運行。這時可使用supervisor監控應用程序的進程。當發生應用程序內部錯誤退出、進程被殺死等情況時,自動重啟應用程序。
b)安裝supervisor
c)配置supervison
d)啟動
e)添加supervisord為Linux系統服務,開機自動啟動
將supervisord.conf拷貝到/etc目錄下
啟動腳本supervisord.sh
#!/bin/sh
#
#/etc/rc.d/init.d/supervisord
#
#Supervisorisaclient/serversystemthat
#allowsitsuserstomonitorandcontrola
#numberofprocessesonUNIX-likeOperating
#systems.
#
#chkconfig:-6436
#description:SupervisorServer
#processname:supervisord
#Sourceinitfunctions
./etc/rc.d/init.d/functions
prog="supervisord"
prog_bin="/usr/local/bin/supervisord"
PIDFILE="/tmp/supervisord.pid"
start()
{
echo-n$"Starting$prog:"
#Sourceinitfunctions
./etc/rc.d/init.d/functions
prog="supervisord"
prog_bin="/usr/local/bin/supervisord"
PIDFILE="/tmp/supervisord.pid"start()
{
echo-n$"Starting$prog:"
daemon$prog_bin--pidfile$PIDFILE
[-f$PIDFILE]&&success$"$progstartup"||failure$"$progstartup"
echo
}
stop()
{
echo-n$"Shuttingdown$prog:"
[-f$PIDFILE]&&killproc$prog||success$"$progshutdown"
echo
}
case"$1"in
start)
start
;;
stop)
stop
;;
status)
status$prog
;;
restart)
stop
start
;;
*)
echo"Usage:$0{start|stop|restart|status}"
;;
esac
添加為系統服務
#mvsupervisord.sh/etc/init.d/supervisord
#chkconfig--addsupervisord
#chkconfig--level345supervisordon
a)Screen是一個可以在多個進程之間多路復用一個物理終端的窗口管理器。
b)Screen命令
新聞熱點
疑難解答