Przede wszystkim ps aux | grep <PID>
jest przydatny, gdy chcesz pokazać szczegóły konkretnego procesu, którego PID
(Identyfikator procesu) jest reprezentowany przez <PID>
.
Na przykład ( ps aux | grep 'firefox\|USER'
oznacza drukowanie tylko linii, które zawierają firefox
lub 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
Zatem PID dla mojej firefox
instancji to 9021. Aby użyć komendy, którą próbujesz uruchomić, zastąpiłbym <PID>
ją 9021
:
ps aux | grep 9021
terdon 9021 2.5 11.5 1948776 942640 ? Sl Apr03 109:03 /opt/firefox/firefox
Teraz nie jestem pewien, co rozumiesz przez „wyświetl, które pliki uruchamiają te procesy”. Jeśli masz na myśli wyświetlanie plików używanych przez te procesy, ps aux
jest to jeden ze sposobów. Powiedzmy, że otworzyłem plik /usr/share/doc/nano/faq.html
za pomocą tego polecenia:
firefox /usr/share/doc/nano/faq.html
Widziałem, który plik firefox
został otwarty za pomocą 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
Otwarty plik jest pokazany jako jeden z argumentów przekazanych do Firefoxa. Zauważ, że PID jest inny (jest teraz 31763
zamiast 9021
), ponieważ każdy uruchomiony program ma swój własny unikalny PID.
Innym przydatnym poleceniem jest top
. Jeśli uruchomisz go z -c
przełącznikiem, wyświetli on argumenty przekazane do polecenia, a wraz z -u <your user>
nim pokaże tylko procesy rozpoczęte przez twoją nazwę użytkownika (zastąp <your user>
rzeczywistą nazwą użytkownika):
top -c -u terdon
To jest wynik na moim komputerze lokalnym (użytkownik terdon
uruchamia tylko dwa procesy):
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
Aby uzyskać wyjaśnienie informacji przedstawionych przez top
, zobacz moją odpowiedź na powiązane pytanie dotyczące SU.
grep <pid>
, powinieneś zastąpić<pid>
faktycznym identyfikatorem procesu (jest to liczba).<pid>
jest tylko symbolem zastępczym, a nie czymś, co powinieneś pisać.