回答:
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に関するさまざまな情報を示しています。
以下を実行してみてください:
ps -ef
まず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
シェルの下の一部の文字は、<>?「; ...
PIDはプロセスIDであり、grepは同様の数値を検出するため、grep PIDは役に立ちません...
grep <pid>
、<pid>
実際のプロセスID(数値)に置き換える必要があります。<pid>
は単なるプレースホルダーであり、実際に入力する必要があるものではありません。