當你在終端或控制台工作時,可能不希望由於執行乙個作業而佔住了螢幕,因為可能還有更重要的事情要做,比如閱讀電子郵件。對於密集訪問磁碟的程序,你可能希望它能夠在每天的非負荷高峰時間段執行。為了使這些程序能夠在後台執行,也就是說不在終端螢幕上執行,有幾種選擇方法可供使用:
[list]
[*]設定crontab檔案,並用它來提交作業。
[*]使用at命令來提交作業。
[*]在後台提交作業。
[*]使用nohup命令提交作業。
[/list]
名詞解釋:
[list]
[*]cron系統排程程序。可以使用它在每天的非高峰負荷時間段執行作業,或在一周或一月中的不同時段執行。
[*]at命令。使用它在乙個特定的時間執行一些特殊的作業,或在晚一些的非負荷高峰時間段或高峰負荷時間段執行。
[*]& 使用它在後台執行乙個占用時間不長的程序。
[*]nohup 使用它在後台執行乙個命令,即使在使用者退出時也不受影響。
[/list]
乙個舉乙個例子
[b]crontab[/b]
用crontab提交乙個任務在每天晚上7點對zhangwanzhi說i love you
/home/l/g/tomotoboy >touch tomotoboycron
/home/l/g/tomotoboy >cat > tomotoboycron
0 19 * * * echo "i love zhangwanzhi"
/home/l/g/tomotoboy >crontab tomotoboycron
cron may not be running - call your system administrator
/home/l/g/tomotoboy >crontab -l
0 19 * * * echo "i love zhangwanzhi"
刪除crontab 檔案
/home/l/g/tomotoboy >crontab -r
cron may not be running - call your system administrator
/home/l/g/tomotoboy >crontab -l
crontab: can't open your crontab file.
恢復丟失的crontab檔案
如果不小心誤刪了crontab檔案,假設你在自己的$home目錄下還有乙個備份,那麼可以將其拷貝到/var/spool/cron/,其中是使用者名稱。如果由於許可權問題無法完成拷貝,可以用:
$ crontab
現在我們來恢復tomotoboycron
/home/l/g/tomotoboy >crontab tomotoboycron
cron may not be running - call your system administrator
/home/l/g/tomotoboy >crontab -l
0 19 * * * echo "i love zhangwanzhi"
[b]at[/b]
在命令提交一分鐘後執行
/home/l/g/tomotoboy >ls -l|grep "tomotoboy"|at now +1 minute
cron may not be running - call your system administrator
commands will be executed using /bin/bash
job 1249815115.a at sun aug 9 18:51:55 2009
列出已經提交的at任務:
/home/l/g/tomotoboy >at -l
1249815115.a sun aug 9 18:51:55 2009
1249813233.a sun aug 9 18:20:33 2009
1249813261.a sun aug 9 18:21:01 2009
使用atrm刪除乙個任務:
/home/l/g/tomotoboy >atrm 1249815115.a
cron may not be running - call your system administrator
1249815115.a: removed
/home/l/g/tomotoboy >at -l
1249813233.a sun aug 9 18:20:33 2009
1249813261.a sun aug 9 18:21:01 2009
[b]&和nohup[/b]
在後台執行echo "i love you zhangwanzhi" ,使用者退出時不終止:
/home/l/g/tomotoboy >nohup echo "i love you zhangwanzhi" &
[1] 20784
/home/l/g/tomotoboy >sending output to nohup.out
/home/l/g/tomotoboy >cat nohup.out
ilove you zhangwanzhi
php 後台執行,PHP開啟守護程序後台執行
只能在linux環境執行有時候難免要用到php守護程序,需要在cli模式下保持執行,直接一段 即可,linux php守護程序 啟動 停止 重啟 查詢狀態 class servicedeamon else else if pid 0 else else else else else echo pro...
linux下建立後台守護程序例項
步驟 1.父程序通過fork函式建立乙個子程序,然後父程序退出 2.子程序中使用setsid函式建立乙個新的會話 3.切換程序的工作目錄到根目錄 4.設定程序的umask為0 5.關閉不需要的檔案操作符 例項 include incude include include include includ...
前台程序 後台程序 守護程序
後台程序又叫守護程序,你知道嗎?作業系統中,前台程序和後台程序有什麼區別?特徵是什麼?後台程式基本上不和使用者互動,優先級別稍微低一點 前台的程式和使用者互動,需要較高的響應速度,優先級別稍微高一點 直接從後台手工啟動乙個程序用得比較少一些,除非是該程序甚為耗時,且使用者也不急著需要結果的時候。假設...