YesYo.com MintState Forums
뒤로    YesYo.com MintState BBS > Tech > Linux
검색
멤버이름    오토
비밀번호 
 

ps 수행중인 프로세스 표시

페이지 정보

작성자 MintState 댓글 0건 조회 20,800회 작성일 08-12-04 22:27

본문

ps 수행중인 프로세스 표시 

수행중인 프로세스(프로세스 자체에 수행중이라는 의미가 있지만) 정보를 표시한다. ps(Process Status) 유틸리티 옵션에는 - 문자를 덧붙이지 않아도 좋다.

a 모든 프로세스 목록에 대한 정보를 표시한다.
f 트리 형태로 프로세스 정보를 표시한다. (Forest)
l 긴 포맷으로 표시한다.
u 이용자 이름과 시작 시각을 포함한다.
x 터미널과 관련 없는 프로세스도 포함한다.

-sort[+ | -]key... 지정한 키에 따라 정렬한다.

정렬키
c cmd
C cmdline
f flags
g pgrp (group ID)
p pid
P ppid (Parent's process ID)
s size
T start_time
U uid
u user (user name)

필드
USER 프로세스의 소유자 이름
PID 프로세스를 구분하는 고유 식별 번호
%CPU 프로세스의 CPU 점유율
%MEM 프로세스의 메모리 점유율
RSS 프로세스가 이용하는 메모리 크기
TTY 프로세스가 수행된 터미널 번호
STAT 수행중인 프로세스 상태
S 잠들어 있다.
R 수행 중
Z 좀비 프로세스
TIME 프로세스가 이용한 시간
COMMAND 수행중인 명령에 대한 정보

쓰는 법
가장 일반적인 형태 ps ax
상세하게 보고 싶을 때 ps al





**
프로세스 컨트롤


1.ps명령어
:: 시스템에서 시작되는 프로세서는 각각 고유한 식별번호 프로세서ID(PID)를 가진다
ps명령은 시스템에서 현재 실행중인(sleep상태도 포함)프로세스에 대한 정보를 각 PID와 각 프로세스의 부모 ID(PPID)를 표시해 준다.
   
[syntax]     
ps [-option]     
:: 옵션에는 아래와 같은 것들이 있다.
 -e ==> 시스템에서 수행중인 모든 프로세서 정보를 보여준다.
 -f  ==> 위의 옵션과 같이 주어지며 세부정보를 보여준다. 이 옵션을 통해서  PPID(부모 프로세서)를 알수있다.

[예제]     

       
[Tip]
:: ps명령은 CPU를 주로 사용하는 명령이므로 응답시간이 느려질수도 있다.
 
 
2. 실제적인 프로세서 제어
:: 위에서 프로세서에 대해 간략하게 알아보았다. 여기서는 실제 작동중인 프로세서를 제어해 보도록하자.
   
- 백그라운드 작업 -
[syntax]
명령어 &
:: 명령어 다음에 엠퍼센드(&)를 붙이면 해당 작업은 백그라운드로 수행된다. 백그라운드 작업이란 현재 쉘을 사용할수 있게 만들어 주는 멀티플랙작업이 가능하게 해주는 유닉스의 융통성이 뛰어난 작업이다.

[예제]     

:: 위에서 앞의 [1]은 자신이 수행한 백그라운드 프로세서의 순차적인 번호(ob Number라고도 한다.)이고,  뒤의 194는 해당 백그라운드 작업의 PID(프로세서ID)값인 것이다.
     
$
             
[Tip]
:: 백그라운드 작업중인 프로세서는 일반적인 "Ctrl + c"명령으로 제어할수가 없다. ps를 통한 프로세서ID를 kill하거나 로그아웃하면 중지된다. 로그아웃을 할경우 해당 작업이 완료되지 않으면  $ There are running jobs. 이라는 메시지를 보여준다.

- 프로세서의 그라운드 이동 -
:: 제목이 조금 이상하군여(^^).현재 백그라운드나 포그라운드에 진행중인 프로세서를 각각 포그라운드나 백그라운드로 이동시킨다.

[syntax]
fg [%PID]
fg [%명령어]
bg [%PID]
bg [%명령어]
   
:: PID 와 실행한 명령어로도 가능하다.

[예제]

       
[Tip]
:: 포그라운드 작업을 중지시키는 명령인 "ctrl + z"는 .profile 에서 "stty susp ^z "라는 엔트리를 사용하여 로그인시 지정된다.

- nohup 명령어 -
:: 명령의 정지나 로그아웃에 영향을 받지 않는 명령으로 유닉스 시스템의 접두부(다른명령의 앞에 오는 명령)명령의 하나이다. 따라서 해당 명령을 지속적으로 실행하고자 할때 사용된다.

[syntax]   
nohup 명령어 &   

[예제]

   
[Tip]
:: nohup 명령의 출력방향을 지정하지 않으면 Default로 nohup.out이라는 파일이 생성된다. 이파일에는 표준출력과 표준에러가 모두 기록된다.

- nice 명령어 -
:: 유닉스의 멀티플랙스한 점은 CPU를 시분할 시스템으로 분할하여 CPU에게 작업을 할당한다. nice는 작업의 우선순위를 결정한다.

[syntax]     
nice [-N] 명령어
   
:: N은 1에서 15사이의 낮은 우선순위로 실행된다. 이것은 백그라운드에서의 작업할당번호이다.

[예제]     


nice값은 NI항목에 표시된다. 위에서 보듯이 nice값이 34이다.
이것은 기본nice값이 20이고 그리고 nice 실행시 더한값이 10이고 그리고 백그라운드시
4가 더해지기 때문이다.   
   
[Tip]
:: nice의 초기시작 값은 20이다. 백그라운드로 실행할 경우 포그라운드보다 +4 가된다. 따라서 포그라운드일 경우에는 작업할당번호가 1~19까지이다.

- kill(프로세서 죽이기) -
:: TERM신호를 지정된 프로세스에 보낸다. 해당 프로세스를 종료하도록 요구한다.

[syntax]
kill [-s 시그널이름] PID
   
:: kill PID하여도 된다.
   
[예제]   


[Tip]
:: 좀비프로세스란 해당 프로세서가 defunct난 경우로 kill명령어로 죽지 않는  경우가 있다. 확인은 ps -ef 로 CMD 가 난 경우이다.
프로세스 테이블은 프로세스 가동갯수가 있는데 좀비프로세스는 프로세서 테이블을 차지함으로서 자원을 소모한다.
이때는 시스템을 재가동 하는 경우가 대부분이다.

댓글목록

등록된 댓글이 없습니다.

Total 360건 7 페이지
게시물 검색
모바일 버전으로 보기
CopyRight ©2004 - 2024, YesYo.com MintState. ™