首頁 >後端開發 >PHP問題 >PHP如何進行腳本設定及取得進程名

PHP如何進行腳本設定及取得進程名

醉折花枝作酒筹
醉折花枝作酒筹原創
2021-06-11 18:06:271994瀏覽

本篇文章為大家介紹一下PHP進行腳本設定及取得進程名的方法。有一定的參考價值,有需要的朋友可以參考一下,希望對大家有幫助。

PHP如何進行腳本設定及取得進程名

PHP腳本設定及取得進程名稱

今天來學習的是兩個非常簡單的函數,一個可以用來設定我們執行腳本時運行的進程名。而另一個就是簡單的取得目前運行的進程名。這兩個函數對於大量的腳本運行程式碼有很大的作用,例如我們需要 kill 掉某個進程時,可以直接使用我們自己定義的進程名來進行操作。

設定進程名

cli_set_process_title("test");

非常簡單吧,只有一個參數,那就是要定義的變數名稱。運作起來後,我們使用 sleep() 讓程式掛載一段時間,然後再開一個終端機來查看目前的進程資訊。

ps -ef | grep test
# root     32172 31511  0 09:03 pts/0    00:00:00 test

top -p 32172 -c
# 32198 root      20   0  113100  18052  13088 S   0.0   0.2   0:00.00 test

可以看到,不管是使用 ps 或使用 top ,都可以看到對應的進程名稱為 test 的進程。這樣,就完成了進程名稱的自訂。

取得進程名稱

echo "Process title: " . cli_get_process_title() . "\n";
// Process title: test

相同的,取得目前進程名稱的函數也非常簡單,直接呼叫即可。它就會正常輸出目前執行腳本的進程名稱。

如果我們沒有自訂進程名稱呢?這裡就不會有任何的輸出,大家可以自己試試看。

注意事項

最後來說說這兩個函數的注意事項。

一是如果使用的是Mac OS 系統,會提示:

// Warning: cli_set_process_title(): cli_set_process_title had an error: Not initialized correctly

也就是說這兩個函數在Mac 下面是無法正常使用的,我的測試環境是CentOS ,是可以正常使用的。 Windows 環境沒有進行測試,正常情況下也很少會有人在 Windows 環境下掛後台執行腳本,所以有興趣的同學可以自己測試下。

二是進程名可以是中文! ! !是不是感覺很高大上。

三是這兩個函數只針對 CLI 運行環境。也就是說,在 CGI 正常網頁運作的狀態下這兩個函數是沒有效果的。

測試程式碼:

https://github.com/zhangyue0503/dev-blog/blob/master/php/202005/source/PHP%E8%84%9A%E6%9C%AC%E8%AE%BE%E7%BD%AE%E5%8F%8A%E8%8E%B7%E5%8F%96%E8%BF%9B%E7%A8%8B%E5%90%8D.php

推薦學習:php影片教學

#

以上是PHP如何進行腳本設定及取得進程名的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn