web-dev-qa-db-ja.com

名前のないhtopプロセスの原因は何ですか?

htopに名前のないプロセスの原因は何ですか?

これは完全に最新のdebian8.6システムであり、htop1.0.3をルートAMD64として実行しています。そしてunix.stackexchange.comは画像を読めないサイズに縮小しているようです。画像のURLを開くことをお勧めします http://image.prntscr.com/image/5ef407a1f99a4c9692db179a3afb2516.png 直接

3
hanshenrik

htopは、引数の間にスペースを入れてプロセスのコマンドラインを表示します。 (最初の引数である引数番号0は、通常、親プロセスから渡されるコマンド名です。)

プロセスは、コマンドライン引数を同じ長さ以下の文字列で上書きする場合があります。いくつかのプログラムは、これを使用してプログラムの状態に関する情報を伝達します。 Screenは、セッションを管理するバックグラウンドプロセスで最初の引数(コマンド名)を大文字に設定し、セッションに接続されている端末で実行されるフロントエンドプロセスで通常は小文字のコマンド名を残します。

コマンドライン引数なしでプロセスを開始することも可能です。これは非常に珍しいことです。通常、最初の引数はコマンド名です。しかし、それは技術的には可能です。

これは表示のバグ、またはキャリッジリターンを含むコマンド名の影響である可能性がありますが、最も可能性の高い説明は、このプロセスには(現在)引数がないことです。カーネルに直接質問することで確認できます。

cat -A /proc/12727/cmdline; echo

これにより、制御文字が視覚的表現に置き換えられた引数が表示されます。引数は^@で区切られます。

/proc/12727を調べると、他の情報を見つけることができます。たとえば、/proc/12727/exeはこのプロセスで実行されている実行可能ファイルへのシンボリックリンクであり、/proc/12727/fdはプロセスが開いているファイルを示します。この情報は、lsof -p12727で表示することもできます。

ps l 12727は、このプロセスに関するその他の情報、特にその親プロセスID(PPID)を表示します。 (設定で対応する列をアクティブにすることで、この情報を表示するようにhtopを構成することもできます。)