您好,登錄后才能下訂單哦!
這篇文章主要為大家展示了“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 正常網頁運行的狀態下這兩個函數是沒有效果的。
以上是“PHP中怎么進行腳本設置及獲取進程名”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。