建立一個php服務腳本,負責抓取mqtt等通訊記錄,並且儲存到資料庫。平時,我們只要在伺服器端開個終端,就可以運行程式碼,去抓數據,但是將終端關閉後,就無法抓取數據了。守護程式(daemon)就是一直在後台運行的程式(daemon)。他可以脫離終端獨自在後台運作。
1.在ubuntu上,平時的做法是執行以下程式碼當做一個服務腳本。
php run.php
這樣獨自佔一個終端機就可以運作。但是沒辦法使用終端幹其他事情了。
2.我們在指令的結尾加上&,如下:
php run.php &
只要在指令的尾部加上符號&,啟動的進程就會變成」後台任務」。如果要讓正在運行的”前台任務”變為”後台任務”,可以先按ctrl + z,然後執行bg命令(讓最近一個暫停的”後台任務”繼續執行)。也可以輸入 fg
回車轉換為正常模式。
「後台任務」有兩個特點:
繼承目前 session (對話)的標準輸出(stdout)和標準錯誤(stderr)。因此,後台任務的所有輸出依然會同步地在命令列下顯示。
不再繼承目前 session 的標準輸入(stdin)。你無法向這個任務輸入指令了。如果它試圖讀取標準輸入,就會暫停執行(halt)。
可以看到,」後台任務」與」前台任務」的本質差異只有一個:是否繼承標準輸入。所以,執行後台任務的同時,使用者還可以輸入其他指令。
tail -fn 50 nohup.out
相關推薦:
以上是ubuntu運行後台php服務詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!