後台執行命令 守護程序建立

2021-08-30 03:56:15 字數 2741 閱讀 6587

當你在終端或控制台工作時,可能不希望由於執行乙個作業而佔住了螢幕,因為可能還有更重要的事情要做,比如閱讀電子郵件。對於密集訪問磁碟的程序,你可能希望它能夠在每天的非負荷高峰時間段執行。為了使這些程序能夠在後台執行,也就是說不在終端螢幕上執行,有幾種選擇方法可供使用:

[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...

前台程序 後台程序 守護程序

後台程序又叫守護程序,你知道嗎?作業系統中,前台程序和後台程序有什麼區別?特徵是什麼?後台程式基本上不和使用者互動,優先級別稍微低一點 前台的程式和使用者互動,需要較高的響應速度,優先級別稍微高一點 直接從後台手工啟動乙個程序用得比較少一些,除非是該程序甚為耗時,且使用者也不急著需要結果的時候。假設...