簡體   English   中英

如何從命令行判斷哪些 Screen 會話仍在運行 PHP 進程?

[英]How can I tell which Screen sessions are still running a PHP process from the command line?

我有大約 25 個屏幕會話運行 PHP 腳本。

如何判斷哪些仍在運行從該屏幕 session 啟動的 PHP 進程,而無需恢復每個屏幕? 我可以從命令行使用屏幕或 linux 的內置功能訪問這些信息,還是我必須編寫腳本來處理這個?

我從命令行啟動了我的屏幕會話,並以同樣的方式執行了 PHP 腳本。

如果我的 memory 對我有用,則屏幕 session(如果以命令啟動,我認為是 -x)會在程序完成運行時殺死自己(屏幕將退出),因此您只需解析screen -list和看看屏幕(您分配給它的 session 名稱)是否仍然存在。

或者(以及我會做什么)當腳本在屏幕中啟動時,您可以在表格中添加一個運行行(包含它正在做什么、預期完成時間、正在運行的屏幕等信息)。 然后,當它完成時,只需讓屏幕從數據庫中刪除該行,您就可以很好地了解正在發生的一切以及發生的位置。

您甚至可以限制屏幕的數量,並在后台運行管理程序以將作業分配給屏幕(檢查數據庫何時打開屏幕)。

就個人而言,我會運行一個 cronjob 或腳本來ps auxw | grep screen ps auxw | grep screen然后循環遍歷每一行,使用awk和其他所有不錯的工具來查看當前在該 tty 上運行的內容以及該 tty 的空閑時間......如果 Z2FEC392304A5C73AC138DA228 腳本已完成運行,則可能是,那個 tty 上沒有運行任何東西,你可以殺死那個屏幕,甚至只是 tty ......

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM