実行中のプロセスをファイル名で表示しますか?


12

私は自分のサイトがあるLinuxサーバーに接続するためにputtyを使用しています。

# ps aux | less

実行中のプロセスを表示します。しかし、これらのプロセスを実行しているファイルを表示したいですか?

私も試しました

# ps aux | grep <pid>

しかし、このエラーが発生します:

-bash: syntax error near unexpected token `newline'

それを行う正しい方法は何ですか?


4
ではgrep <pid><pid>実際のプロセスID(数値)に置き換える必要があります。 <pid>は単なるプレースホルダーであり、実際に入力する必要があるものではありません。
Ben Voigt 2013

回答:


13

ps aux | grep <pid>はシェルコマンドではありません。表記<pid>は、「PIDをそこに置く」ことを意味する一般的な規則です。たとえば、PIDが1234の場合、を実行しps aux | grep 1234ます。これはあまり便利なコマンドではありませんps u 1234。を実行することもできます。

あなたの質問はあまり明確ではありません。「ファイル名付き」とはどういう意味ですか?プロセス1234が実行している実行可能ファイルを確認する場合:

ls -l /proc/1234/exe

そのプロセスが開いているファイルを確認する場合:

ls -l /proc/1234/fd

引数付きの完全なコマンドラインを表示する場合:

tr '\0' '\n' </proc/1234/cmdline

コマンドを使用する場合はlsof -p1234、プロセスが開いているすべてのファイルを表示します。ps uww 1234は、完全なコマンドラインを含む、プロセス1234に関するさまざまな情報を示しています。



3

まずps aux | grep <PID>PID(Process Identifier)がで表される特定のプロセスの詳細を表示する場合に便利です<PID>

例えば、(ps aux | grep 'firefox\|USER'手段はconteinこと行だけを印刷firefoxまたはUSER):

ps aux | grep 'firefox\|USER'
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
terdon  9021  2.5 11.8 1950888 970832 ?      Sl   Apr03 108:41 /opt/firefox/firefox

だから、私のためのPID firefoxインスタンスが9021そうです、あなたが実行しようとしているコマンドを使用して、私が代わる<PID>9021

ps aux | grep 9021
terdon  9021  2.5 11.5 1948776 942640 ?      Sl   Apr03 109:03 /opt/firefox/firefox

さて、「これらのプロセスを実行しているファイルを表示する」という意味がわかりません。これらのプロセスが使用しているファイルを表示する場合ps auxは、そうする方法の1つです。/usr/share/doc/nano/faq.html次のコマンドを使用してファイルを開いたとしましょう。

 firefox /usr/share/doc/nano/faq.html 

私はfirefox使用して開いたファイルを確認できましたps

ps aux | grep firefox
terdon   31763 18.7  1.0 682916 84352 pts/10   Sl+  17:10   0:02 firefox /usr/share/doc/nano/faq.html

開かれたファイルは、firefoxに渡される引数の1つとして表示されます。PIDが異なることに注意してください(現在ではの31763代わりになっています9021)。これは、実行中のすべてのプログラムに固有のPIDがあるためです。


別の便利なコマンドはtopです。-cスイッチを指定して実行すると、コマンドに渡された引数が-u <your user>表示され、ユーザー名で開始されたプロセスのみが表示されます(<your user>実際のユーザー名に置き換えます)。

top -c -u terdon

これは私のローカルマシンでの出力です(ユーザーterdonは2つのプロセスしか実行していません)。

top - 17:14:41 up 3 days, 49 min, 14 users,  load average: 0.48, 0.54, 0.55
Tasks: 228 total,   1 running, 226 sleeping,   0 stopped,   1 zombie
%Cpu(s):  7.1 us,  5.5 sy,  0.0 ni, 86.5 id,  0.0 wa,  0.0 hi,  0.9 si,  0.0 st
KiB Mem:   8187940 total,  8007220 used,   180720 free,   349264 buffers
KiB Swap:  8191996 total,     5556 used,  8186440 free,  4173004 cached

  PID USER      PR  NI  VIRT  RES  SHR S  %CPU %MEM    TIME+  COMMAND                                                       
31573 terdon    20   0 24900 5576 1684 S   0.0  0.1   0:00.20 bash                                                          
31763 terdon    20   0  666m  77m  28m S   0.0  1.0   0:02.39 firefox /usr/share/doc/nano/faq.html                          

によって表示される情報の説明については、SUに関する関連する質問に対する私の回答top参照しください。


0

シェルの下の一部の文字は、<>?「; ...

PIDはプロセスIDであり、grepは同様の数値を検出するため、grep PIDは役に立ちません...

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.