Skip to content

데몬 및 프로세스 관리

조회 수 17299 추천 수 0 2009.05.11 11:27:29

 데몬 및 프로세스 관리


1) 프로세스(Process)
리눅스 커널상에서 동작하고 있는 모든 프로그램을 말한다.
프로세스 마다 고유의 PID(Process ID)를 갖는다. 1번 PID는 init이다.


 

 

2) 프로세스 작동 상황 알아보기
# ps
# ps -ef
# ps axj | more


* UID, PID, PPID, PGID, SID 컬럼
프로세스를 실행한 시스템 사용자를 보여 준다.
ps aux 명령이나 ps -ef 명령을 사용하면 해당 프로세스를 실행시킨 사용자를 확인할 수 있다.
PPID : 부모 프로세스의 PID


* 접속 터미널 TTY 컬럼
프로세스를 제어하는 터미널 모드
로컬로그인시 tty+가상터미널수
원격로그인이나 엑스 터미널 로그인시 pts/번호 ( ? 표시는 tty와는 무관하게 작동하는 것)


*프로세스 상태STAT 컬럼
3개의 필드로 구성되어 프로세스 상태를 보여준다.
>> 첫 번째 필드
D                  io와 같이 중지(interrupt)시킬 수 없는 잠자고 있는 (휴지) 프로세스 상태
R                  현제 동작중이거나 동작할 수 있는 상태
S                  잠자고 있지만, 중지시킬수 있는 상태
T                  작업 제어 시그널로 정지되었거나 추적중에 있는 프로세스 상태
X                  완전히 죽어 있는 프로세tm
Z                  죽어 있는 좀비 프로세스


>> 두 번째 필드
<                  프로세스의 우선 순위가 높은 상태
N                  프로세스의 우선 순위가 낮은 상태
L                  실시간이나 기존 IO를 위해 메모리 안에 잠겨진 페이지를 가진 상태
s                  세션 리터(주도 프로세스)
I                   멀티 쓰레드
+                  포어그라운드 상태로 동작하는 프로세스


좀비 프로세스 : Z로 되어 있는 프로세스는 작동이 잘못 되어 죽어 있는 프로세스이다. 제거 필요.


* STIME, TIME 컬럼
프로세스 실행시간, 프로세스가 총 소비한 시간


* CMD 컬럼
프로세스의 명령(Command)을 의미


 

3) 프로세스 죽이기
>> kill 명령이 가지고 있는 시그널 종류 살펴 보기
# kill -l


>> 프로세스 종료 시키기
# kill [-시그런 번호 또는 시그널] PID


>> STAT가 D로 표시된 프로세스 종료 시키기
# kill -SIGKILL pid 또는 # kill -9 pid


>> 프로세스를 멈추지 않고 재 실행하기
# kill -SIGHUP pid 또는 kill -1 pid


>> 데몬의 PID값 확인하기
# ps ax | grep 프로세스명


 

 

4) 백그라운드(Background) 작업과 포어그라운드(Forefround) 작업
>> MC프로세스 백그라운드에서 실행 하기
# mc &


>> 백그라운드에서 실행되고 있는지 확이낳기
# jobs


>> 백그라운드에서 포그라운드로 전환
# fg % 작업번호


>> 포그라운드에서 백그라운드로 작업 전환
일시 중단(Ctrl + Z) 후
# bg % 작업번호


주의1: Ctrl +Z명령은 프로그램이 일시 중지 된 상태이므로 바로 Shutdown 명령을 내려서는 안된다.
주의2: 백그라운드에서 실행중인 프로세스는 kill명령을 사용하여 종료 시켜야 한다.(Ctrl + C는 안됨)
# kill %1


 

 

5) 프로세스 상태 살펴보기
-> pstree                   (프로세스 상태를 트리 구조로 보여 주는 명령)
# pstree | grep


형식 : pstree [-옵션] [pid | usr]
          -a           명령 라인 인수를 보여 줌
          -c           동일한 하위 트리를 축약하지 않음
          -h           현재 작동중인 자식 프로세스와 부모 프로세스를 하이라이트 시킴
          -n           PID 순서로 프로세스를 정렬함
          -p           PID를 함께 트리 구조에 보여 줌


 

-> top      (CPU를 많이 점유하는 프로세스들을 실시간으로 점검, 상당히 유용하다)
형식 : top [-] [d day] [p pid] [q] [c] [C] [S] [s] [i] [b]0
          d           스크린을 생신할 때의 지연 시간
          p           주어진 pid에 대한 프로세스만 모니터링
          q           지연 시간 없이 스크린 갱신
          s           보안 모드로 top 실행
          i            idle및 zombie 프로세스는 무시함
          c           명령 라인 모두 보여 줌


 

>> 프로세스에 대한 각종 정보에 대한 필드 값
          PRI           해당 프로세스의 우선권을 말한다(priority)
          NI             해당 프로세스의 nice값을 말한다.
          SHARE      공유 메모리 양


-> nohup (부모 프로세스가 죽더라도 자식 프로세스가 죽지 않도록 하는 명령)
nohup 명령 &


-> 프로세스 실행 우선 순위 예약
nice -n 명령
# top &
# nice -15 mc &
# ps -l


 

6) 데몬 관리
-> ntsysv        (부트스크립트를 관리해 주는 콘솔상의 크래픽 도구)
ntsysv에서 체크할 수 있는 파일들 /etc/rc.d/init.d 디렉토리에 스크립트 형태로 존재하고 있어야 한다.
다음 두줄의 형식을 갖추어야 ntsysv의 체크 목록에 추가될 수 있다.
# chkconfig: 345 91 35
# description : 스크립트 설명


-> chkconfig
chkconfig --list [name]
chkconfig --add name
chkconfig --del name
chkconfig [--level levels] name <onlofflreset>
chkconfig [--level levels] name


# chkconfig --list | more
# chkconfig --list | grep xfs


>> 스크립트가 해당 레벨에서 실행 되지 않도록 하려면
# chkconfig --level 2 xfs off


-> system-config-services
X-window 상에서 Alt+F2키를 눌러 실행창에 system-config-services 명령을 입력하여 실행시킨다.


 

 

 

 

 

 

 

 

 

 

5. 데몬 활용
1) at 데몬 (작업 스케줄 예약 처리 기능)
# at -h
>> 옵션
          -q queue         단일 문자로 [a-z] 또는 [A-Z]까지 큐를 지정합니다. a큐는 at의 디폴트 큐를 나타냅
                                니다.대문자일때 낮은 우선 순위를 가집니다.
          -m                  작업이 완료되어 사용자에게 메일로 알려 줍니다.
          -f file               표준 입력보다는 오히려 파일로부터 작업을 읽어 들입니다.
          -l                    atq 명령과 같으며, 사용자의 처리될 작업 리스트를 보여 줍니다. 만일 사용자가 수퍼
                                유저일 경우 모든 작업 리스트가 출력됩니다.
          -c job              커맨드 라인상에 있는 작업을 표준 입력으로 저장 합니다.
          TIME              시간 지정은 HHMM 또는 HH:MM형식으로 am, pm으로 구분하여 표시할 수 있습니다.
                                날짜의 경우는 월 일 형식으로 표시할 수있고, MMDDYY, MM/DD/YY, MM.DD.YY 형
                                식으로 표실 할 수 있습니다.


# /etc/init.d/atd restart
at 시간 요일
at> 스케줄 명령
at> Ctrl+D키를 눌러 스케줄 예약


>> 예제
(오후 10시 작업(재부팅) 예약)
# at 10:00pm today
at> shutdown -r now
at> <EOT>
job 4 at 2008-01-28 22:00


>> at 사용자 제한
# cat > /etc/at.allow
redfox
bluefox


>> at 작업 확인
# atq


>> at 큐 작업 제거
# atrm 4 5
# atq


 

 

 

 

2) cron 데몬
>> cron 데몬 띄우기
# /etc/init.d/cron restart


>> cron 데몬 제어 파일 crontab
# crontab --help
# crontab -l             (-소문자 엘)
# crontab -e           (vi 에디터가 실행 됨)


형식 : [분] [시] [일] [월] [요일] [작업내용]


30 10 * * * /home/redfox/back.sh


로 지정후 저장하면 /home/dumca 디렉토리에 있는 back.sh를 실행하라는 작업 내용.
/var/spool/cron 디렉토리에 사용자 파일명으로 저장 됨. crontab -l 명령으로 cron의 작업 리스트를 확
인 가능.


crontab의 작업 명령을 취소하거나 제거 하려면 -r 옵션을 사용
# crontab -r
# frontab -l


 

profile

일요일은 짜빠게뤼~ 먹는날~^^

엮인글 :
http://adminplay.com/1640/ec6/trackback
List of Articles
번호 제목 글쓴이 날짜 조회 수

데몬 및 프로세스 관리

시스템 백업과 응급 복구

Ascii Art관련 사이트 링크

퍼미션 설정

Linux 파일 오픈 갯수 확인

Centos5 버전에서 메모리 인식 file

MRTG 로그 데이터 시간확인하기

리눅스 java tocmat 설치

ssh, ftp 접근 딜레이 현상 발생시 조치방법

관리, 개발자를 위한 vi 환경 설정 ( vim-enhanced)

time.bora.net 시간 동기화후 dovecot 데몬이 죽는 현상 해결

리눅스 페도라 인터넷잡는것좀 알켜주세요^^; [1]

  • 시풍
  • 2009-04-07
  • 조회 수 20670

.vimrc 설정 설정, 색상 (VI 설정 색상)

사이트 이전시 - rsync

dumpe2fs 파일 시스템의 슈퍼 블럭과 블럭 그룹 정보를 출력

rm -rf / ==> 그 결과는...ㄷㄷ;;

Cent5 ffmpeg 설치

리눅스 TIP

특정 디랙토리 인증걸기 htpasswd, htaccess

netstat 의 Send-Q, Recv-Q의 의미

Copyright ADMINPLAY corp. All rights reserved.

abcXYZ, 세종대왕,1234

abcXYZ, 세종대왕,1234