Jeśli piszemy ps -ef
, otrzymujemy listę procesów. Dlaczego liczby PID nie są ciągłe?
command-line
ps
Vasu Dev Garg
źródło
źródło
Brakujące między nimi identyfikatory procesów są już martwe, a ich PID zostaną ponownie wykorzystane przez jądro w późniejszych procesach.
Martwe procesy nie będą wyświetlane w tabeli procesów (z wyjątkiem zombie), dlatego
ps -ef
ich nie pokażą.źródło
Zwykle PID jest ciągły, ale niektóre procesy zostaną przerwane do momentu uruchomienia polecenia
ps -ef
.Również niektóre procesy mogą być tylko podprocesami innego procesu, który nie jest pokazany w
ps -ef
poleceniu. Aby zobaczyć rozszerzony wynik i sprawdzić ciągły PID, użyjpstree
Przykładowe dane wyjściowe:
podczas gdy po uruchomieniu
ps -ef
zobaczysz tylko proces nadrzędny.źródło
Są ciągłe. PID są przypisywane w kolejności sekwencyjnej, aż do osiągnięcia maksymalnego limitu. Po tym limicie rozpocznie się od nowa od zera.
Po prostu brakujące PID
ps -ef
są martwe. Zauważ, żeps -ef
zawiera listę tylko uruchomionych procesów.źródło