Używam kit do połączenia mojego serwera linux, w którym znajdują się moje strony. Mogę uruchomić
# ps aux | less
aby pokazać uruchomione procesy. Ale chcę wyświetlić, które pliki uruchamiają te procesy?
Próbowałem też
# ps aux | grep <pid>
Ale uzyskanie tego błędu:
-bash: syntax error near unexpected token `newline'
Jaki jest właściwy sposób to zrobić?
linux
process
open-files
tshepang
źródło
źródło
grep <pid>
, powinieneś zastąpić<pid>
faktycznym identyfikatorem procesu (jest to liczba).<pid>
jest tylko symbolem zastępczym, a nie czymś, co powinieneś pisać.Odpowiedzi:
ps aux | grep <pid>
nie jest poleceniem powłoki. Notacja<pid>
jest powszechną konwencją oznaczającą „umieść tam PID”. Na przykład, jeśli PID to 1234, uruchomiłbyś sięps aux | grep 1234
. To nie jest bardzo przydatne polecenie, możesz równie dobrze uruchomićps u 1234
.Twoje pytanie nie jest bardzo jasne. Co rozumiesz przez „z nazwami plików”? Jeśli chcesz zobaczyć, jaki plik wykonywalny działa proces 1234:
Jeśli chcesz zobaczyć, jakie pliki otworzył ten proces:
Jeśli chcesz zobaczyć pełny wiersz poleceń z argumentami:
Jeśli wolisz używać poleceń,
lsof -p1234
pokazuje wszystkie pliki otwarte przez proces.ps uww 1234
pokazuje różne informacje o procesie 1234, w tym pełną linię poleceń.źródło
spróbuj wykonać następujące czynności:
źródło
Przede wszystkim
ps aux | grep <PID>
jest przydatny, gdy chcesz pokazać szczegóły konkretnego procesu, któregoPID
(Identyfikator procesu) jest reprezentowany przez<PID>
.Na przykład (
ps aux | grep 'firefox\|USER'
oznacza drukowanie tylko linii, które zawierająfirefox
lubUSER
):Zatem PID dla mojej
firefox
instancji to 9021. Aby użyć komendy, którą próbujesz uruchomić, zastąpiłbym<PID>
ją9021
: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:Widziałem, który plik
firefox
został otwarty za pomocąps
:Otwarty plik jest pokazany jako jeden z argumentów przekazanych do Firefoxa. Zauważ, że PID jest inny (jest teraz
31763
zamiast9021
), 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):To jest wynik na moim komputerze lokalnym (użytkownik
terdon
uruchamia tylko dwa procesy):Aby uzyskać wyjaśnienie informacji przedstawionych przez
top
, zobacz moją odpowiedź na powiązane pytanie dotyczące SU.źródło
niektóre postacie w skorupie są specjalnego przeznaczenia, takie jak <>? „; ...
grep PID nie jest użyteczny, ponieważ PID jest identyfikatorem procesu, a grep znajdzie podobną liczbę ...
źródło