본문으로 바로가기

Day-12 프로세스 관리 2

category Linux 2017. 1. 6. 09:53


pstree - 프로세스의 상관관계를 트리 형태로 계층화하여  출력
-p : PID와 함께 출력


pgrep = -ps + grep, 패턴에 맞는 프로세스의 정보를 출력
pgrep [option] [패턴]
-l : PID와 함께 일치하는 프로세스의 이름을 출력
-f : -l 옵션과 함께 사용하면 명령어의 경로도 출력
-x : 패턴과 정확하게 일치되는 프로세스만 출력

killall / pkill - 프로세스명이 일치하는 모든 프로세스 종료
killall [프로세스명]
pkill  [프로세스명]

nice & renice (niceness) - 프로세스의 우선순위를 지정하거나 변경
 - 커널이 프로세스에게 할당하는 PCB중 우선순위를 제어하는 명령어이다.
 - 우선순위는 '-20' 부터 '19'까지 잇으며, 낮을 수록 높은 우선 순위이다.
 - 우선순위가 높으면 많은 시스템자원을 할당받기 때문에 실행속도가 더 빨라진다.


 nice -n [우선순위] [명령어]
 renice -n [우선순위] [PID]

 

 


 
★ top


SHIFT + f : 정렬할 수 있는 리스트를 출력 (*로 표시)

 

첫 번째 라인 - 시스템의 부하를 출력하는 라인
  up 서버가 켜진 시간
  login한 사용자의 수
  load average 최근 1분 최근 5분 최근 15분

두 번째 라인 - 프로세스들의 종합적인 상황을 출력
  Task : 77 total   - 실행된 모든 프로세스의 개수
   running                - 실행되고 있는 프로세스의 개수
   Sleeping             - 유휴상태에 있는 프로세스의 개수
   Stopped             - 종료된 프로세스의 개수
   zombie               - 좀비프로세스의 개수

 

세번째 라인
cpu
us cpu사용률 (사용자)
sy cpu사용률 (시스템)
ni cpu사용률 (우선순위)
id 남은 cpu
wa 입출력 대기시간

 


at - 정해진 시간에  입력한 명령어를 한번만 실행하는 데몬
형식 - at [옵션]  [시간]
옵션 -l 현재 실행 대기중인 목록을 출력 (atq)
       -r 현재 실행 대기중인 목록을 지정하여 삭제(atrm)
   
시간 형태
yyyy-mm-dd, HH:MM, HHMM, today, tomorrow, hours, days, week, now, midnight

ex) at 9pm + 4days        // 지금부터 4일 후 오후6시에 작업을 실행
      at 10am jul 18         // 7월 18일 오전 10시에 작업을 실행
      at 3am tomorrow    // 내일 오전 3시에 작업을 실행
      at 10:00am today   // 오늘 오전 10시에 작업을 실행
  
#yum -y install at           //at 데몬 설치
#yum -y install mail       //mail 데몬 설치
service atd start            //at 데몬 실행
service atd restart        // atd 데몬 시작

#at today +1min             //at 실행
at> ls -l                          // 프롬프트 꺽쇠 이후 명령어 입력
at> <EOT>                       //EOT(전송완료) -> Ctrl+D로 저장
job 2 at 2016-12-23      //작업정보

at 예약된 작업정보 (at -l)
[작업번호][날짜][시간][큐이름][사용자]

at 예약작업 /var/spool/at 디렉토리에 큐파일이 임시로 저장된 후,
작업이 완료되면 자동으로 삭제가 되며, /var/spool/mail 디렉토리에
사용자명으로 결과가 저장된다.

 

at의 사용 권한 설정
- /etc/at.allow 파일이 있으면, at.allow에 명시된 사용자만 사용이 가능
- /etc/at.allow 파일이 없다면, at.deny에 명시된 사용자를 제외하고 사용이 가능
- 두파일 모두 없다면 root만 사용이 가능
- 두파일 모두에 사용자가 명시된 경우 at.allow가 우선 적용되어 at 사용 가능
- /etc/at.deny를 빈파일로 두면 모든 사용자가 at 명령어 실행 가능(default)

 

cron - 정해진 시간에  입력한 명령어를 반복하여 실행하는 데몬
- 기능 crontab 파일을 관리
- 형식 crontab -u [User ID] [OPTION] [Filename]
- 옵션 -e 사용자의 crontab 편집
          -l crontab 파일의 내용을 출력
    -r crontab 파일의 내용을 삭제
ex) crontab -l                        //list 확인
      crontab -u S-USER1 -e     //S-USER1의 Crontab을 수정   
      crontab -r                       //crontab  삭제
#yum -y install cron*            //cron 데몬 설치


crontab 파일 형식
- crontab 파일을 사용자별로 생성되며, 해당 파일에 반복할 작업의 내용이 있다.
- 여러개의 작업도 저장할 수 있으며, 한 행에 하나의 작업만 설정한다.

       분       시      일      월      요일     (권한)작업내용 
      0~59  0~23 1~31 1~12   0~6       (사용자ID) 반복할 내용

- 일요일 (0) 월요일(1) 토요일(6), 각 항목은 공백 문자로 구분
- 항목의 값이 '*'이면 해당 항목의 모든 값을 의미 한다.
- '-' (hyphen) 두 숫자 사이에 포함된 범위 (ex 1-5 == 1,2,3,4,5)
- ',' (comma)로 구분하여 나열된 숫자 중 일치하는 경우를 뜻 한다.
   0,1,6 -> 일요일, 월요일, 토요일
- '/' (slash)로 시간 간격을 지정 할 수 있다.
 
ex)    30       23    1     *        *            mv /etc/passwd /etc/passwd_bk  
      매요일 매월 1일 23시 30분에  mv /etc/passwd /etc/passwd_bk  명령 실행
  
ex)  */2       10    *     *         *             cp -R /home/test /back/home
        매요일 매월 매일 10시에 2분마다 작업 실행

ex) 1-10      12    *     *         *        
        매요일 매월 매일 12시 1분부터 10분까지 실행 

 

crontab 명령 사용 제한하기
 - /etc/cron.allow, /etc/cron.deny 파일로 사용자의 접근을 허용/차단 할 수 있다
 - cron.deny 기본적으로 있지만, cron.allow 파일을 관리자가 직접 만들어야 한다.
 
 
 cron의 사용 권한 설정
- /etc/cron.allow 파일이 있으면, cron.allow에 명시된 사용자만 사용이 가능
- /etc/cron.allow 파일이 없다면, cron.deny에 명시된 사용자를 제외하고 사용이 가능
- 두파일 모두 없다면 root만 사용이 가능
- 두파일 모두에 사용자가 명시된 경우 cron.allow가 우선 적용되어 cron 사용 가능
- /etc/cron.deny를 빈파일로 두면 모든 사용자가 cron 명령어 실행 가능(default)

 

'Linux' 카테고리의 다른 글

Day-14 파일 시스템 관리 1  (0) 2017.01.08
Day-13 프로세스 관리 3 & 파일 시스템 관리 1  (0) 2017.01.06
Day-11 프로세스 관리 1  (0) 2017.01.03
Day-10 사용자 계정관리 3  (0) 2016.12.31
Day-9 사용자 계정관리 2  (0) 2016.12.31