>  기사  >  웹 프론트엔드  >  ps aux 자세한 설명

ps aux 자세한 설명

高洛峰
高洛峰원래의
2017-02-14 10:30:055785검색

ps aux

다른 사용자가 시작한 프로세스 표시(a)
시스템에서 자신의 프로세스 보기(x)
이 프로세스를 시작한 사용자와 시간 시작됨( u)

"date -s" 명령을 사용하여 시스템 시간을 수정하세요
예를 들어 시스템 시간을 1996년 6월 10일로 설정하는 명령은 다음과 같습니다. .
#date -s 06/10/96
시스템 시간을 오후 1시 12분으로 설정하는 명령은 다음과 같습니다.
#date -s 13:12:00

-------------------------------- -----------------------
사용자 PID %CPU %MEM VSZ RSS TTY 통계 시작 시간 COMMAND
루트 1 0.0 0.0 1340 440 ? 일 11월 5일 0:04 초기화
루트 2 0.0 0.0 0 0 ? 2005년 11월 0:00 [keventd]
루트 3 0.0 0.0 0 0? SW 11월 5일 0:00 [keventd]
...
--------------------------------- --------

USER 필드는 이 명령을 시작한 사용자를 지정합니다.
사용자는 특정 프로세스의 사용량을 확인할 수 있습니다. CPU;
메모리 사용량 및 해당 VSZ(가상 메모리 크기) 및 RSS(상주 세트 크기):
VSZ는 프로그램이 메모리에 완전히 상주하는 경우 프로그램이 차지해야 하는 메모리 공간의 양을 나타냅니다.
RSS는 지정합니다. 현재 실제로 사용 중인 메모리 양을 보여줍니다.
STAT는 프로세스의 현재 상태를 보여줍니다.
"S": 프로세스가 절전 상태에 있으며, 이러한 프로세스가 특정 이벤트(아마도 사용자)가 발생하기를 기다리고 있음을 나타냅니다. 가용성

마지막 명령은 시스템 로그인 이벤트를 효과적으로 볼 수 있습니다.

프로세스가 종료를 호출한 후 프로세스는 즉시 사라지지 않고 A 데이터로 유지됩니다. 좀비 프로세스(Zombie)라고 불리는 구조. 리눅스 프로세스의 5가지 상태 중 좀비 프로세스 이는 매우 특별한 종류입니다. 거의 모든 메모리 공간을 포기하고 실행 가능한 코드가 없으며 다른 프로세스에 대한 종료 상태 및 기타 정보를 기록하기 위해 프로세스 목록에 위치를 예약할 수만 있습니다. 목적. 좀비 프로세스가 더 이상 메모리 공간을 차지하지 않는다는 점을 제외하고 프로세스 수집.

exit 시스템 호출의 기능은 프로세스를 종료시키는 것이지만, 이는 일반 프로세스를 좀비 프로세스로 바꾸는 것에만 국한되며 완전히 파괴할 수는 없습니다.
프로세스가 wait를 호출하면 즉시 자신을 차단합니다. Wait는 현재 프로세스의 하위 프로세스가 종료되었는지 자동으로 분석하여 좀비가 된 하위 프로세스를 발견하면 대기합니다. 이 하위 프로세스의 정보를 수집하고 완전히 삭제한 후 반환합니다. 해당 하위 프로세스가 없으면 하위 프로세스가 나타날 때까지 여기서 차단됩니다.

ps aux 컬렉션에 STAT 설명 다시 게시

ps aux를 실행하여 다음 정보를 확인하세요.
ps aux
USER PID %CPU %MEM VSZ RSS TTY 통계 시작 시간 명령
smmsp 3521 0.0 0.7 6556 1616년 ? 봄 여름 시즌 20:40 0:00 메일 보내기: Queuerunner@01:00:00 f
root 3532 0.0 0.2 2428 452 ? 봄 여름 시즌 20:40 0:00 gpm -m /dev/input/mice -t imps2
htt 3563 0.0 0.0 2956 196 ? 봄 여름 시즌 20:41 0:00 /usr/sbin/htt -retryonerror 0
htt ​ 3564 0.0 1.7 29460 3704 ? 슬 20:41 0:00 htt_server -nodaemon
루트 3574 0.0 0.4 5236 992 ? 봄 여름 시즌 20:41 0:00 크론드
xfs 3617 0.0 1.3 13572 2804 ? 봄 여름 시즌 20:41 0:00 xfs -droppriv -daemon
루트 3627 0.0 0.2 3448 552 ? SNS 20:41 0:00 anacron -s
루트 3636 0.0 0.1 2304 420 ? 봄 여름 시즌 20:41 0:00 /usr/sbin/atd
dbus 3655 0.0 0.5 13840 1084 ? SSL 20:41 0:00 dbus-daemon-1 --system
.................................. ...
stat의 매개변수에는 다음과 같은 의미가 있습니다.
D Uninterruptible(일반적으로 IO)
R 실행 중 또는 대기열에 있는 프로세스
S Sleeping
T 중지되거나 추적됨
Z 좀비 프로세스
W 메모리 스왑 시작 중(커널 2.6부터 유효하지 않음)
X 죽은 프로세스

< 우선순위 높음
n 낮은 우선순위
s에는 하위 프로세스가 포함되어 있습니다
+ 백그라운드에 위치한 프로세스 그룹

========================= = ============

ps 명령
프로세스를 모니터링하고 제어하려면 먼저 현재 프로세스의 상황, 즉 현재 프로세스를 살펴봐야 하며, ps 명령은 가장 기본이면서도 매우 강력한 프로세스입니다. 보기 명령을 사용하십시오. 어떤 프로세스가 실행 중인지, 실행 중인 상태인지, 프로세스가 종료되었는지, 프로세스에 좀비가 있는지, 어떤 프로세스가 리소스를 너무 많이 점유하는지 등을 확인합니다. 간단히 말해서
ps 명령을 실행하면 대부분의 정보를 얻을 수 있습니다. 가장 일반적으로 사용되는 것은 백그라운드 프로세스의 작동 상태를 모니터링하는 것입니다. 백그라운드 프로세스는 스크린 키보드와 같은 표준 입출력 장치와 통신하지 않기 때문에 상황을 감지해야 하는 경우 ps 명령을 사용할 수 있습니다. .
  1) ps a는 다른 사용자의 프로그램을 포함하여 현재 터미널에 있는 모든 프로그램을 표시합니다.
2) ps -A는 모든 프로그램을 표시합니다.
3) ps c가 프로그램을 나열하는 경우 경로, 매개변수 또는 상주 서비스 식별을 포함하지 않고 각 프로그램의 실제 명령어 이름이 표시됩니다.
4) ps -e 이 매개변수의 효과는 "A" 매개변수를 지정하는 것과 동일합니다.
5) ps e가 프로그램을 나열할 때 각 프로그램에서 사용하는 환경 변수를 표시합니다.
6) ps f는 ASCII 문자를 사용하여 트리 구조를 표시하고 프로그램 간의 관계를 표현합니다.
7) ps -H는 프로그램 간의 관계를 나타내는 트리 구조를 표시합니다.
8) ps -N은 ps 명령을 실행하는 터미널 하위 프로그램을 제외한 모든 프로그램을 표시합니다.
9) ps s는 프로그램 신호 형식을 사용하여 프로그램 상태를 표시합니다.
10) ps S는 프로그램 나열 시 중단된 서브루틴 정보를 포함합니다.
11) ps -t<터미널 번호> 터미널 번호를 지정하고 해당 터미널에 속한 프로그램의 상태를 나열합니다.
12) ps u 사용자 중심 형식으로 프로그램 상태를 표시합니다.
13) ps x 터미널별로 구분되지 않은 모든 프로그램을 표시합니다.
가장 일반적으로 사용되는 방법은 ps -aux 이며, 파이프 기호를 사용하여 grep에 특정 프로세스를 찾은 다음 특정 프로세스에 대해 작업을 수행합니다.

Linux에는 5가지 프로세스 상태가 있습니다.
1. 실행 중(실행 중 또는 실행 대기열에서 대기 중)
중단됨(휴면 중, 차단됨, 대기 중) 특정 조건의 형성 또는 신호 수신)
3. 무정전(신호가 깨어나지 않고 실행될 수 없으며 프로세스는 인터럽트가 발생할 때까지 기다려야 함)
4. 종료되었지만 프로세스 설명자는 상위 프로세스가 wait4() 시스템 호출을 호출하고 해제될 때까지 존재합니다.
5. 중지(SIGSTOP, SIGSTP, SIGTIN, SIGTOU 신호를 받은 후 프로세스 실행이 중지됨)

5가지 유형의 PS 도구 식별 프로세스 상태 코드:
D 무중단 절전(일반적으로 IO)
R 실행 가능(실행 대기열에서)
S 인터럽트 절전
T 추적 중지 또는 중지
Z 좀비 존재하지 않는("좀비") 프로세스

참고: 다른 상태에는 W(상주 페이지 없음), <(높은 우선순위 프로세스), N(낮은 우선순위 프로세스), L(메모리 잠금 페이지).

ps 형식 출력을 사용하여 프로세스 상태를 확인합니다.
ps -eo user,stat..,cmd

user 사용자 이름
uid user number
pid 프로세스 번호
ppid 상위 프로세스 번호
size 메모리 크기, Kbytes 바이트.
vsize 총 가상 메모리 크기, 바이트 바이트(코드+데이터+스택 포함)
share 총 공유 숫자 페이지 수
nice 프로세스 우선순위(기본값은 0, 최대값은 -20)
priority(pri) 커널 스케줄링 우선순위
pmem 프로세스가 공유하는 물리적 메모리의 비율
trs 프로그램 실행 코드 상주 크기
rss 프로세스가 사용한 총 물리적 메모리, Kbytes 바이트
time 프로세스가 실행된 이후 총 CPU 임시 시간
stat 프로세스 상태
cmd(args) 단순 명령 실행 형식

예:
현재 시스템 프로세스의 uid, pid, stat, pri를 uid 번호별로 정렬하여 봅니다.
ps -eo pid, stat, pri, uid –sort uid

보기 user, pid, stat, rss, args 현재 시스템 프로세스의 rss로 정렬.
ps -eo user, pid, stat, rss, args –sort rss

이름 : ps
사용 권한: 모든 사용자
사용 방법: ps [options] [--help]
설명: 순간 여정의 역학(프로세스) 표시
매개 변수:
ps 있음 여기에는 일반적으로 사용되는 몇 가지 매개변수만 나열하고 그 의미를 간략하게 소개합니다.
-A 모든 여행 일정 나열
-w 더 많은 정보를 표시하려면 확대 표시
-au 더 큰 세부 정보 표시
- aux는 다른 사용자가 포함된 모든 일정을 표시합니다.

au(x) 출력 형식:

USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
USER: 여행 소유자
PID: pid
%CPU: CPU 사용량 점유
%MEM: 메모리 사용량 점유
VSZ: 점유된 가상 메모리 크기
RSS: 점유된 메모리 크기
TTY: tty의 보조 장치 번호 터미널
STAT: 트립 상태:
D: 무정전 정적
R: 실행 중
S: 정지 상태
T: 실행 중단
Z: 존재하지 않지만 존재할 수 없음 일시적으로 제거됨
W: 할당할 메모리 페이징이 충분하지 않음
<: 우선순위가 높은 여행 일정
N: 우선순위가 낮은 여행
L: 메모리 페이지 할당 및 메모리에 잠겨 있음
START: 여행 시작 time
TIME: 실행 시간
COMMAND: 명령이 실행됨

예:

ps
PID TTY 시간 CMD
2791 ttyp0 00:00:00 tcsh
3092 ttyp0 00:00:00 ps
% ps -A
PID TTY 시간 CMD
1 ? 00:00:03 초기화
2 ? 00:00:00 kflushd
3 ? 00:00:00 kpiod
4 ? 00:00:00 kswapd
5 ? 00 mdrecoveryd
.....
% ps -aux
사용자 PID %CPU %MEM VSZ RSS TTY STAT 시작 시간 명령
root 1 0.0 0.7 1096 472 ? S Sep10 0:03 init [ 3]
루트 2 0.0 0.0 0 0 ? SW Sep10 0:00 [kflushd]
루트 3 0.0 0.0 0 0 ? SW Sep10 0:00 [kpiod]
루트 4 0.0 0.0 0 0 ? 0:00 [kswapd]
.....
프로세스를 모니터링하고 제어하려면 먼저 현재 프로세스의 상황을 이해해야 합니다. 즉, 현재 프로세스를 봐야 하고 ps 이 명령은 가장 기본적이면서도 매우 강력한 프로세스 보기 명령입니다. 이 명령을 사용하여 실행 중인 프로세스와 실행 상태, 프로세스 종료 여부, 프로세스 종료 여부, 너무 많은 리소스를 점유하고 있는 프로세스 등을 확인합니다. 즉, 이 명령을 실행하면 대부분의 정보를 얻을 수 있습니다.

ps는 프로세스에 대한 일회성 보기를 제공하지만 제공되는 보기 결과는 동적이거나 연속적이지 않습니다. 프로세스 시간을 모니터링하려면 상단 도구를 사용해야 합니다.

kill은 프로세스를 종료하는 데 사용됩니다.

1. ps의 매개변수 설명
ps는 다양한 옵션 매개변수를 제공하며 일반적으로 사용되는 매개변수는 다음과 같습니다.

l 긴 형식 출력
u 사용자 이름 및 시작 시간을 누릅니다.
j는 작업 형식으로 프로세스를 표시합니다.
f는 프로세스를 트리 형식으로 표시합니다.

a는 모든 사용자(다른 사용자 포함)의 프로세스를 표시합니다. x는 제어되는 터미널 없이 프로세스를 표시합니다.
ww는 세부 매개변수가 잘리는 것을 방지합니다.

일반적으로 사용되는 옵션은 aux 또는 lax의 조합과 f 애플리케이션입니다.

2. ps aux 또는 lax 출력 설명

PID 프로세스 ID

프로세스가 차지하는 CPU 비율; 🎜>%MEM은 차지하는 메모리 비율입니다.
NI 프로세스의 NICE 값이 클수록 CPU 시간이 적게 사용됩니다.
상주 페이지 수; TTY 터미널 ID
STAT 프로세스 상태(다음 유형이 있음)

D 무중단 절전 상태(일반적으로 IO 프로세스)
R 실행 중이며 대기열에서 사용 가능
S는 절전 모드입니다. ;
T가 중지되거나 추적됩니다.
W가 메모리 교환에 들어갑니다(커널 2.6부터 유효하지 않음).
X 죽은 프로세스(본 적이 없음);

< 높은 우선순위 프로세스
N 낮은 우선순위 프로세스
L 일부 페이지가 메모리에 잠겨 있습니다.
s 프로세스 리더(그 아래에 하위 프로세스가 있음)
l 다중 프로세스(CLONE_THREAD 사용, 유사) NPTL pthreads);
+ 프로세스 그룹이 대기하고 있습니다.
START 프로세스 시작

COMMAND; 명령 이름 및 매개변수


3. 적용 예
[root@localhost ~]# ps -aux |more
| 파이프 등을 사용하여 페이지 단위로 볼 수 있습니다.
[root@localhost ~]# ps -aux > ps001.txt
[root@localhost ~]# more ps001.txt
여기에서는 모든 프로세스를 표시하고 ps001.txt 파일로 출력합니다. 을 클릭한 다음 more를 사용하여 페이지에서 볼 수 있습니다.

4. Kill은 프로세스를 종료합니다
프로세스를 제어하는 ​​방법은 12가지 이상입니다. 다음은 일반적으로 사용되는 몇 가지 방법입니다.

kill -STOP [pid]

SIGSTOP 보내기(17) ,19,23 ) 프로세스를 종료하지 않고 중지합니다.
kill -CONT [pid]
중지된 프로세스를 다시 시작하려면 SIGCONT(19,18,25)를 보냅니다.
kill -KILL [pid]
SIGKILL(9)을 보내 프로세스를 즉시 중지하고 정리 작업을 수행하지 않도록 하세요.
kill -9 -1

자신이 소유한 모든 프로세스를 종료합니다.

SIGKILL 및 SIGSTOP 신호는 포착, 차단 또는 무시될 수 없지만 다른 신호는 가능합니다. 그래서 이것이 당신의 궁극적인 무기입니다.

ps aux에 대한 자세한 설명과 관련 글은 PHP 중국어 홈페이지를 주목해주세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.