プロセスが実行されている画面インスタンスの識別

プロセスが実行されている画面インスタンスの識別

ポート8113(Solr)でリッスンしているプロセスが応答しません。でPIDを見つけましたが、サーバーにはnetstatさまざまなセッションscreenで実行される約24のSolrプロセスがあります。

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この場合はまったく役に立ちませんでした。screenPIDに基づいてプロセスが実行されているセッションを確認する方法はありますか?

答え1

それを発見!

PID 351を実行しているインスタンスを見つけるには、screenPID 351環境で「STY =」文字列を検索してください。

$ grep -z '^STY=' /proc/351/environ
STY=1410.neverFindMe

または、次のように使用しますps(スクリーンセッション名に空白文字が含まれていない場合)。

$ ps wwep 351 | grep -o 'STY=\S*'
STY=1410.neverFindMe

関連情報