如何讓php腳本在后臺持續運行?
許多php腳本需要在后臺持續運行,不受終端關閉的影響。例如,一個簡單的PHP腳本(例如s.php):
<?php cli_set_process_title('queue-server'); while(true) { // ... 你的代碼 ... } ?>
直接使用php s.php運行,終端關閉后腳本也會停止。 要實現類似workerman -d的后臺運行效果,需要借助系統命令,而非PHP本身的功能。PHP解釋器本身不具備守護進程管理能力,而workerman等工具是構建于PHP之上的應用,自帶后臺運行機制。
要讓PHP腳本在后臺運行,可以使用nohup命令:
nohup php s.php 2>&1 &
此命令將s.php腳本置于后臺運行。2>&1將標準錯誤輸出重定向到標準輸出,&將進程放入后臺。即使關閉終端,腳本仍會繼續執行。
立即學習“PHP免費學習筆記(深入)”;
需要注意的是,PHP和Workerman是不同的工具,不能直接比較。Workerman、docker、redis、nginx等是應用層工具,自帶后臺運行配置。PHP作為腳本語言,不負責管理守護進程。 如需更復雜的后臺運行邏輯,可在PHP腳本中自行實現守護進程。
? 版權聲明
文章版權歸作者所有,未經允許請勿轉載。
THE END