Skip to content

데몬 및 프로세스 관리

조회 수 17335 추천 수 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/5f6/trackback
List of Articles
번호 제목 글쓴이 날짜 조회 수
» 데몬 및 프로세스 관리 ADMINPLAY 2009-05-11 17335
46 시스템 백업과 응급 복구 ADMINPLAY 2009-05-11 61926
45 Ascii Art관련 사이트 링크 ADMINPLAY 2009-05-11 17290
44 퍼미션 설정 ADMINPLAY 2009-05-11 17609
43 Linux 파일 오픈 갯수 확인 ADMINPLAY 2009-05-10 23422
42 Centos5 버전에서 메모리 인식 file ADMINPLAY 2009-05-10 21100
41 MRTG 로그 데이터 시간확인하기 ADMINPLAY 2009-05-08 22180
40 리눅스 java tocmat 설치 ADMINPLAY 2009-05-07 18984
39 ssh, ftp 접근 딜레이 현상 발생시 조치방법 ADMINPLAY 2009-04-27 20094
38 관리, 개발자를 위한 vi 환경 설정 ( vim-enhanced) ADMINPLAY 2009-04-27 19000
37 time.bora.net 시간 동기화후 dovecot 데몬이 죽는 현상 해결 ADMINPLAY 2009-04-27 23934
36 리눅스 페도라 인터넷잡는것좀 알켜주세요^^; [1] 시풍 2009-04-07 20706
35 .vimrc 설정 설정, 색상 (VI 설정 색상) ADMINPLAY 2009-03-21 26239
34 사이트 이전시 - rsync ADMINPLAY 2009-03-17 17418
33 dumpe2fs 파일 시스템의 슈퍼 블럭과 블럭 그룹 정보를 출력 ADMINPLAY 2009-03-17 20736
32 rm -rf / ==> 그 결과는...ㄷㄷ;; ADMINPLAY 2009-03-17 20146
31 Cent5 ffmpeg 설치 ADMINPLAY 2009-03-17 18041
30 리눅스 TIP ADMINPLAY 2009-03-09 25562
29 특정 디랙토리 인증걸기 htpasswd, htaccess ADMINPLAY 2009-03-04 22031
28 netstat 의 Send-Q, Recv-Q의 의미 ADMINPLAY 2009-02-09 25021

Copyright ADMINPLAY corp. All rights reserved.

abcXYZ, 세종대왕,1234

abcXYZ, 세종대왕,1234