nohup
和直接運行 php
腳本之間的主要區別在于它們處理后臺進程和信號的方式
nohup
(no hang up):
nohup
是一個用于在 Unix 和類 Unix 系統中運行命令的實用程序,它允許你安全地在后臺運行進程,即使你關閉了終端或注銷了系統。當使用 nohup
運行 PHP 腳本時,它會忽略 SIGHUP(掛起)信號,這意味著即使終端會話關閉,腳本也會繼續運行。使用 nohup
的基本語法:
nohup php script.php &
這將把 PHP 腳本的輸出重定向到名為 nohup.out
的文件中,除非你指定了其他輸出文件。
php script.php
,它會創建一個子進程來執行腳本。如果關閉終端會話或注銷系統,這個子進程通常會被終止,導致腳本停止運行。總結一下,nohup
的主要優勢在于它允許你在后臺安全地運行 PHP 腳本,即使關閉了終端會話。這對于需要長時間運行的腳本或在遠程服務器上運行的腳本非常有用。而直接運行 PHP 腳本適用于快速執行的任務,但在這種情況下,你需要確保保持終端會話打開,以防止進程被終止。