Red Hat 仮想マシンを使用しており、リモートでのみアクセスできます。しかし、このコマンドを使用するときにtop
最もメモリを消費するプロセスの1つは/usr/lib64/firefox-3.0.18/firefox
。
これらのプロセスを表示せずにどのように起動し、一部のプロセスで実際に使用できますか?どのプロセスがそれを使用しているかを確認する方法はありますか?
答え1
Firefoxを表示するにはXが必要です。実行しているコンピュータの物理モニタである必要はありません。リモートモニターまたは仮想モニターです。
それがどこに現れるかを知りたい場合は、DISPLAY
Firefoxプロセスの環境変数を見てください。ルートである必要があります(より正確には、Firefoxプロセスを実行するユーザーの権限が必要です)。
</proc/$pid/environ grep -z '^DISPLAY='
:NUMBER
値がコロンで始まる形式の場合、Xサーバーはローカルサーバーです。/tmp/.X11-unix/XNUMBER
たとえば、/tmp/.X11-unix/X42
という名前のソケットがありますDISPLAY=:42
。とマークされている場合、:NUMBER1.NUMBER2
この.NUMBER2
部分は無視されます。その後、lsof /tmp/.X11-unix/X42
ソケットを開いたプロセスの1つがXサーバーです。これは仮想フレームバッファXサーバーです。wxyaまたは、リモートでフレームを表示するサーバーにすることもできます。仮想ネットワークコントローラまたはNX。
値がフォーマットの場合、host:NUMBER
Xディスプレイはリモートです。 X サーバーは、ポート 6000+NUMBER でリッスンするプロセスです。netstat -plnt | awk '$4 ~ ":" (6000 + NUMBER) "$"' {print $7}
そのポートでリッスンしているプロセスのPIDを表示するには、実行してください。 SSH接続でも構いません。
答え2
X11は、使用しているXサーバーとは異なるアプリケーションサーバーを使用できるWindowシステムなので、ローカルにモニターをインストールする必要はありません。
最善の方法は、実行しているFirefoxの親アイテムが何であるかを確認することです。つまり、出力で親項目のPIDを確認することです
ps
(親項目も確認する必要があるかもしれません...)。注:ptree
インストールコマンドがあると便利です。もう1つの表示は、プロセスが使用するユーザーIDです。