Proszę wyjaśnić ten wynik polecenia ps -ef?


14

Część danych wyjściowych ps -efpolecenia podano poniżej:

UID        PID  PPID  C STIME TTY          TIME CMD
root         1     0  0  2012 ?        00:00:01 init [3]         
root         2     1  0  2012 ?        00:00:01 [migration/0]
root         3     1  0  2012 ?        00:00:00 [ksoftirqd/0]
root         4     1  0  2012 ?        00:00:00 [watchdog/0]
root         5     1  0  2012 ?        00:00:00 [events/0]
root         6     1  0  2012 ?        00:00:00 [khelper]
root         7     1  0  2012 ?        00:00:00 [kthread]
root         9     7  0  2012 ?        00:00:00 [xenwatch]
root        10     7  0  2012 ?        00:00:00 [xenbus]
root        18     7  0  2012 ?        00:00:01 [migration/1]
root        19     7  0  2012 ?        00:00:00 [ksoftirqd/1]

Co "?"oznaczają dla wszystkich wierszy w kolumnie TTY? Co również oznacza Ci CMDkolumna?

Odpowiedzi:


23

Możesz sprawdzić stronę podręczną za pomocą, man psaby dowiedzieć się, co oznaczają kolumny. Na przykład strona systemu Linux pszawiera:

c              C           integer value of the processor utilisation percentage.
                           (see %cpu)
tname          TTY         controlling tty (terminal). (alias tt, tty).
args           COMMAND     command with all its arguments as a string. May chop as
                           desired. Modifications to the arguments are not shown.
                           The output in this column may contain spaces.
                           (alias cmd, command)
cmd            CMD         see args. (alias args, command)

Jeśli TTYtak ?, oznacza to, że proces nie jest powiązany z żadnym terminalem użytkownika.


2
man pspowinien działać wszędzie, nie tylko w Linuksie. Zredaguję twoją odpowiedź, by powiedzieć, co myślę, że musiałeś mieć na myśli; możesz się wycofać, jeśli się mylę.
derobert

5

Ponieważ są to wszystkie procesy jądra, nie są one dołączone do TTY (stąd ?wartość w TTYpolu).


1

UID PID PPID C STIME TTY TIME CMD

root 1 0 0 2012? 00:00:01 init [3]

Zrozumienie wyniku: -

  1. Nazwa użytkownika, który rozpoczął proces.

  2. Ten kod to PID, tj. Identyfikator procesu. Działa jako numer identyfikacyjny procesu uruchomionego w pamięci.

  3. Ta nazwa to PPID, tj. Identyfikator procesu nadrzędnego. Ten identyfikator jest pid procesu, z powodu którego proces ten został uruchomiony. Wszystkie procesy Oracle nie mają procesu macierzystego i dlatego są adoptowane przez proces init, proces inicjujący ma pid jako 1, więc wszystkie procesy Oracle będą miały ppid jako 1.

  4. Informacje o wykorzystaniu procesora w%.

  5. Jest to czas rozpoczęcia procesu, w przypadku długotrwałego procesu, takiego jak w przypadku Oracle, pokaże tylko datę rozpoczęcia procesu. jeśli chcesz poznać pełny rok i godzinę procesu uruchomionego sam, uruchom komendę z tą opcją ps - dla użytkownika, pid, ppid, etime, args - etime poinformuje przez ostatnie dni, ile dni proces był uruchomiony.

  6. Jest to terminal, z którego proces został uruchomiony. Podobnie jak w przypadku grep pmon, polecenie zostało uruchomione na terminalu pts / 2, więc pokazuje, że proces ten jest uruchamiany przez terminal pts / 2. Cały proces wyroczni nie jest uruchamiany przez żaden terminal.

  7. Całkowity czas, w którym proces wykorzystał procesor.

  8. Wykonane polecenie i argumenty.


0

Przykłady kilku nagłówków

F   S   UID     ID  PPID C  PRI NI  ADDR        SZ  WCHAN   STIME   TTY    TIME COMD

1   R   obiwan  792 779 22  183 20  10ec5f80    29    -    12:52:24 pts/2   0:00    ps -elf

Wyjaśnienie

ColumnHeader    Contents
%CPU            How much of the CPU the process is using
%MEM            How much memory the process is using
ADDR            Memory address of the process
C or CP         CPU usage and scheduling information
COMMAND*        Name of the process, including arguments, if any
NI              nice value
F               Flags
PID             Process ID number
PPID            ID number of the process's parent process
PRI             Priority of the process
RSS             Real memory usage
S or STAT       Process status code
START or STIME  Time when the process started
SZ              Virtual memory usage
TIME            Total CPU usage
TT or TTY       Terminal associated with the process
UID or USER     Username of the process's owner
WCHAN           Memory address of the event the process is waiting for

Kredyty: Indiana University Knowledge Base


2
What does the "?" for all the rows in the TTY column mean?Zobacz także istniejącą odpowiedź, aby upewnić się, że dodajesz do istniejącej wiedzy.
Jeff Schaller

Czy licencja na ten materiał umożliwia kopiowanie i wklejanie go na Stack Exchange?
Stephen Kitt
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.