ps -ef 명령의이 출력을 설명해주세요.


14

ps -ef명령 출력의 일부 는 다음과 같습니다.

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]

무엇합니까 "?"청각 장애 열 평균에 모든 행을? 또한 무엇을 수행 C하고 CMD위해 열 스탠드?

답변:


23

을 사용하여 맨 페이지를 확인 man ps하여 열의 의미를 확인할 수 있습니다 . ps예를 들어 Linux 맨 페이지는 다음을 제공합니다.

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)

(가) 경우 TTY?것을 의미 프로세스는 임의의 사용자 단말기와 연관되지 않고있다.


2
man ps리눅스뿐만 아니라 모든 곳에서 작동해야합니다. 내가 생각했던 것의 말을하기 위해 답을 편집하려고합니다. 내가 실수하면 되돌릴 수 있습니다.
derobert

5

이들은 모두 커널 프로세스이므로 TTY에 첨부되지 않으므로 필드 의 ?값입니다 TTY.


1

UID PID PPID C STIME TTY 시간 CMD

루트 1 0 0 2012? 00:00:01 초기화 [3]

출력 이해 :-

  1. 프로세스를 시작한 사용자의 이름입니다.

  2. 이 coulmn은 PID, 즉 프로세스 id입니다. 이것은 메모리에서 실행중인 프로세스를 식별하지 않는 역할을합니다.

  3. 이 coulmn은 PPID, 즉 상위 프로세스 ID입니다. 이 ID는 프로세스의 pid이므로 이러한 프로세스가 시작되었습니다. 모든 Oracle 프로세스에는 상위 프로세스가 없으므로 init 프로세스, pid가 1 인 init 프로세스에 의해 채택되므로 모든 oracle 프로세스는 ppid가 1입니다.

  4. 프로세서 사용률 정보 (%)

  5. 이것은 프로세스의 시작 시간이며, oracle의 경우와 같이 장기 실행 프로세스의 경우 프로세스 시작 날짜 만 표시됩니다. 전체 실행 프로세스의 전체 연도 및 시간을 알고 싶다면 ps –efo user, pid, ppid, etime, args 옵션을 사용하여 명령을 실행하십시오. etime은 프로세스가 실행 된 일 수를 마지막으로 알려줍니다.

  6. 프로세스가 시작된 터미널입니다. grep pmon 명령이 터미널 pts / 2에서 시작된 것처럼이 프로세스가 터미널 pts / 2에 의해 시작되었음을 보여줍니다. 모든 오라클 프로세스가 터미널에서 시작되지 않습니다.

  7. 프로세스가 CPU를 사용한 총 시간입니다.

  8. 명령과 인수가 실행되었습니다.


0

몇 가지 헤더의 예

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

설명

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

크레딧 : Indiana University Knowledge Base


2
What does the "?" for all the rows in the TTY column mean?또한 참조 기존 응답 이 있다는 것을 보장하기 위해 추가 기존의 지식을.
Jeff Schaller

이 자료에 대한 라이센스로 Stack Exchange에 복사하여 붙여 넣을 수 있습니까?
Stephen Kitt
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.