ubuntu運行後台php服務詳解

來源:互聯網
上載者:User


建立一個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

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.