Process
辨識程序在哪個螢幕實例中執行
偵聽埠 8113 (Solr) 的程序沒有響應。我找到了它的 PID,
netstat
但是伺服器有大約兩打 Solr 程序在不同的screen
會話中執行。3607.foobar-client2 (12/27/14 20:54:02) (Detached) 3797.solr.bo.app (12/25/14 11:51:30) (Detached) 2962.solr (12/25/14 11:47:23) (Detached) 1410.solrTester (12/25/14 11:39:41) (Detached) 1348.solrReports (12/25/14 11:38:41) (Detached) ....
我發現辨識它們的唯一方法是停止程序。我嘗試通過哪些文件打開它們來辨識它們,
lsof
但在這種情況下這根本沒有幫助。有什麼方法可以根據 PID 確定screen
程序在哪個會話中執行?
找到了!
要查找
screen
執行 PID 351 的實例,請在 PID 351 環境中搜尋字元串“STY=”:$ grep -z '^STY=' /proc/351/environ STY=1410.neverFindMe
或使用
ps
(如果螢幕會話名稱不包含空格字元):$ ps wwep 351 | grep -o 'STY=\S*' STY=1410.neverFindMe