Linuxのコマンド「top」はどこから情報を取得しますか?


5

データのテーブルを作成するために、Linuxコマンド「top」はどのファイルから読み取りますか?具体的には、PIDに基づいて「コマンド」列のデータを検索できるようにします。


どのようなデータを探していますか?完全なパスと引数?その他?
ダグハリス

回答:


9

/ proc / $ pid / cmdlineにあります。フィールドはヌルで区切られています。私のマシンの例:

$ xargs -0 echo < /proc/4263/cmdline 
/usr/lib64/firefox-3.5.3/firefox -no-remote -P default
$

1

topはprocfs aka / procにあるファイルから情報を取得します

を使用して、pidに基づいてクエリを実行できます。

PS

残念ながら、コマンドの構文を思い出せません...


1
「男のPS」または「のps --help」
ダグ・ハリス

1

psを使用して、特定のPIDへのコマンドリンクの名前を取得できます。

ps [PID]

また、渡すパラメーターに基づいて追加情報を提供します。詳細はこちらをご覧ください。

また、質問に対するより正確な回答を提供するトップソースコードをダウンロードすることもできます。

また、この PerlMonksの記事では、psコマンドを使用するAIXシステムでtopをシミュレートする方法について説明しています。


1
サンプルコードはPS(大文字)を示しています。Linuxの初心者は注意してください。これは機能しません。「ps」(小文字)を使用してください。あなたの残りはすでにそれを知っていました。
ダグ・ハリス

@Doug-修正。私の側の監視。明確にしてくれてありがとう。
BinaryMisfit
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.