szybciej: grep PPid status |cut -f2jak w time(for((i=0;i<1000;i++));do grep PPid status |cut -f2 >/dev/null;done); zastanawiam się, czy jest coś jeszcze szybszego?
Aquarius Power
1
@AquariusPower Ponieważ pytasz, fgrep jest szybszy niż grep. fgrep PPid status |cut -f2
jbo5112
sed jest znacznie szybszy niż grep i cięty:sed -rn '/PPid/ s/^.*:\s+// p' < status
=Znak nie jest konieczne, przynajmniej na OS X 10.8.2.
jtbandes
5
@jtbandes: Używany tutaj znak równości tłumi wyjście linii nagłówka ( Linux i OS X ).
Dennis Williamson
13
To jedna z tych rzeczy, których się uczę, zapominam, uczę się, powtarzam. Ale to jest przydatne. Flaga „p” polecenia pstree pokazuje drzewo z liściem w N:
grep '^PPid:' /proc/$1/status | grep -o '[0-9]*'to wszystko czego potrzebujesz. (Jest to bardzo rzadkie w przypadku narzędzi uniksowych if [ -z ]; then read.)
grawity
@grawity Pomaga robić rzeczy takie jakecho $$ | ppid | ppid | ppid
Vi.
2
UUOC bezużyteczne użycie kota
Felipe Alvarez
@FelipeAlvarez, Moje dłonie nie są używane do pisania < /some/file grep | grep | ....
Uruchom topz dowolnymi opcjami, jak chcesz -u username and -p PID.
I podczas toppracy naciśnij f, pokazuje listę opcji, które chcesz wyświetlić w topdanych wyjściowych, a wyświetlane parametry będą wyświetlane dużymi literami, a parametry, które nie są wyświetlane, zostaną wyświetlone małymi literami.
Więc wpisując literę przed parametrem, możesz ją włączyć lub wyłączyć. W przypadku identyfikatora procesu nadrzędnego należy wprowadzić, ba następnie nacisnąć Enter, wyświetli on PPID w górnym pliku wyjściowym.
grep PPid status |cut -f2
jak wtime(for((i=0;i<1000;i++));do grep PPid status |cut -f2 >/dev/null;done)
; zastanawiam się, czy jest coś jeszcze szybszego?fgrep PPid status |cut -f2
sed -rn '/PPid/ s/^.*:\s+// p' < status
Odpowiedzi:
Wiersz poleceń:
Funkcjonować:
Alias ( preferowana jest funkcja ):
Scenariusz:
Jeśli do funkcji lub skryptu nie zostanie podany PID, domyślnie wyświetlają PPID bieżącego procesu.
Aby użyć aliasu, należy podać PID.
źródło
=
Znak nie jest konieczne, przynajmniej na OS X 10.8.2.To jedna z tych rzeczy, których się uczę, zapominam, uczę się, powtarzam. Ale to jest przydatne. Flaga „p” polecenia pstree pokazuje drzewo z liściem w N:
źródło
Pid nadrzędny znajduje się w zmiennej PPID powłoki, więc
źródło
$PPID
rozwiązało właśnie problem, na który Google zasugerowało tę stronę jako odpowiedź.Aby wydrukować nadrzędny identyfikator (
PPID
) wszystkich procesów, użyj tego polecenia:Dla jednego procesu, po prostu przekazać PID, jak:
ps j 1234
.Aby wyodrębnić tylko wartość, filtruj dane wyjściowe według
awk
:Aby wyświetlić listę PID wszystkich rodziców, użyj
pstree
(zainstaluj, jeśli go nie masz):Aby uzyskać nadrzędny identyfikator PID bieżącego procesu, użyj
echo $$
.źródło
pstree
jest najmilszy, jaki tu widziałem.ps j
jest świetny, ponieważ jest dostępny na wielu dystrybucjach i łatwo go skomponowaćOdczyt / proc / $ PID / status. Może być łatwo skrypty:
źródło
grep '^PPid:' /proc/$1/status | grep -o '[0-9]*'
to wszystko czego potrzebujesz. (Jest to bardzo rzadkie w przypadku narzędzi uniksowychif [ -z ]; then read
.)echo $$ | ppid | ppid | ppid
< /some/file grep | grep | ...
.grep /some/file
W systemie Linux:
źródło
Nieco bardziej złożony przykład, który sprawdza polecenie rodzica, który rozpoczął bieżący proces Zmień comm = na cmd =, aby zobaczyć pełne polecenie
źródło
Oto szybkie rozwiązanie, które powinno również działać:
źródło
Uruchom
top
z dowolnymi opcjami, jak chcesz-u username and -p PID
.I podczas
top
pracy naciśnij f, pokazuje listę opcji, które chcesz wyświetlić wtop
danych wyjściowych, a wyświetlane parametry będą wyświetlane dużymi literami, a parametry, które nie są wyświetlane, zostaną wyświetlone małymi literami.Więc wpisując literę przed parametrem, możesz ją włączyć lub wyłączyć. W przypadku identyfikatora procesu nadrzędnego należy wprowadzić, ba następnie nacisnąć Enter, wyświetli on PPID w górnym pliku wyjściowym.
źródło
htop
możesz skonfigurowaćPPID
kolumnę.