Linux程序後台執行

2021-07-27 09:36:26 字數 1166 閱讀 6608

學習snmp協議,寫了乙個用sysuptime.0獲取系統自開機到現在的時間的小php程式,如下:

<?php

define("bit",8);

$g=0;

$idd=mysql_connect("localhost","n1417","123456")or die("could not connect:".mysql_error());

mysql_select_db("n1417",$idd);

//mysql_query("truncate table time");

do $g++;

sleep(3600);

}while($g!=48);

mysql_close($idd);

?>

因為睡眠1小時,迴圈48次,即兩天的程式。若中途斷電或斷網,程式就會終斷,就要重新跑。

所以,為了方便,考慮將程式在後台執行,即使關掉視窗,程式也會繼續執行。

若要後台執行,有以下幾種方法:

1. 使用&符號在後台執行命令

在linux命令或者指令碼後面增加&符號,從而使命令或指令碼在後台執行,例如:.

#php example.php &

2. 使用nohup在後台執行命令

使用&符號在後台執行命令或指令碼後,如果退出登入,這個命令就會被自動終止掉。要避免這種情況,可使用nohup命令,如下所示:

#nohup php example.php&

3. 使用screen執行命令

通過nohup和&符號在後台執行命令後,即使退出登入,這個命令也會一直執行。但是無法重新連線到這個會話,要想重新連線到這個會話,可以使用screen命令。.

linux的screen命令提供了分離和重新連線乙個會話的功能。當重新連線這個會話的時候,終端和分離的時候一模一樣。

4. 使用at將乙個命令作為批處理執行

使用at命令,可以讓乙個命令在指定的日期和時間執行,例如要在明天上午10點在後台執行備份指令碼,執行下面的命令:

# at -f backup.sh 10 am tomorrow

在批處理模式下執行某些任務需要啟用一些選項。

5. 使用watch連續地執行乙個命令

要想按乙個固定的間隔不停地執行乙個命令,可以使用watch命令,如下所示:

# watch df -h

程序在Linux後台執行

在linux中,如果要讓程序在後台執行,一般情況下,我們在命令後面加上 即可,實際上,這樣是將命令放入到乙個作業佇列中了 test.sh 1 17208 jobs l 1 17208 running test.sh 對於已經在前台執行的命令,也可以重新放到後台執行,首先按ctrl z暫停已經執行的程...

linux如何執行後台程序

linux直接執行乙個過程。電流指令結束後。或者關閉掉shell形成過程將結束。如何在後台執行的處理 辦法1採用nohup命令,nohup命令本身的意思no hung up他說,他們將不會收到shell關閉,封閉該過程。使用nohup command 使得命令能夠在後台執行。通過job l能夠看到後...

程序後台執行

1 命令最後加 tar zcf etc.tar.gz etc 2 命令允許中 按下ctrl z快捷鍵 root localhost top 在top命令執行的過程中,按下ctrl z快捷鍵 root localhost jobs l 選項 l 顯示工作的pid 注 號代表最近乙個放入後台的工作,也是...