자격증/리눅스마스터 1급

[리눅스마스터1급 실기] 프로세스 관리

ahgle 2023. 4. 24. 15:53
728x90
반응형

프로세스 관리

 

1. /proc : 새로운 프로세스 생성 시 /proc 디렉터리 안에 PID와 동일한 서브 디렉터리가 생성되고 그 안에 해당 프로세스에 관한 정보를 저장

#ls -l /proc/1222/exe : PID가 1222인 프로세스를 실행시킨 명령어의 절대 경로를 출력

  • /proc/uptime : 시스템 가동 시간에 대한 정보를 기록
  • /proc/meminfo : 메모리 정보와 스왑 메모리 정보 출력
  • /proc/cmdline : 부팅 시 실행되는 커널 관련 옵션에 대한 정보 기록
  • /proc/loadavg : 최근 1분, 5분, 15분 동안의 평균 부하율을 기록
  • /proc/partitions : USB 장착 후 관련 정보가 담겨 있는 파일로 확인 가능
  • /proc/mount : 마운트 관련 정보 기록

 

2.crontab : 주기적인 작업 등록

[옵션]

  • -l : 설정된 내용을 출력
  • -e : 내용 작성 및 수정
  • -r : 내용 저장된 파일을 삭제
  • -u : root 사용자가 특정 사용자의 crontab 관련 파일을 다룰 때 사용

#cronab -eu ihduser :ihduser가 예약한 작업의 시간을 변경

*특정 사용자 지정 시 무조건 -u 옵션이 필요하다.

 

3.pgrep : 프로세스 이름 기반으로 검색 / PID값을 출력한다.

-u : UID가 일치하는 프로세스만 출력

#pgrep -u ihduser : ihduser가 실행시킨 프로세스의 PID 출력

 

4.pkill / killall : 프로세스명을 사용하여 같은 데몬의 여러 프로세스를 한 번에 종료 / 기본값은 15(SIGTERM)

-u : UID가 일치하는 프로세스만 종료

 

5.kill : PID를 사용하여 프로세스를 종료

ex) #kill -9 3318

 

6.nice : 프로세스명을 이용하여 프로세스의 우선 순위 값을 변경(NI값 설정 : -20~19)

#nice --10 bash : "bash의 NI값 - 10" 하여 우선 순위를 높임.

 

7.renice : 주로 PID를 사용하여 실행 중인 프로세스의 우선 순위를 높임

#renice -20 1222 : PID가 1222인 프로세스의 NI값을 할당 가능한 최대값(-20)으로 설정하여 최우선 순위로 변경

 

8.nohup : 사용자가 로그아웃하거나 작업 중인 터미널 창이 닫혀도 실행 중인 프로세스를 백그라운드 프로세스로 계속 실행

*사용자가 명령 행 뒤에 &를 명시해야 함.

#nohup tar cvf source.tar /opt/src &

 

9. top : 프로세스 관리

10. ps -l : top명령어와 동일

11.pstree : 시스템의 모든 프로세스들을 트리 구조로 확인

12.vmstat : 프로세스, 메모리, 스왑, 입출력, 시스템, CPU 정보를 출력

#vmstat 1 10 : 1초마다 관련 정보들을 출력하는데 총 10번을 출력.

 

연습 문제 풀이

문제 1. 다음은 프로세스 아이디(PID)가 1079인 프로세스를 실행시키는 명령어를 찾는 과정이다. (괄호) 안에 알맞은 내용을 적으시오.

#ls -l /proc/(1)/(2)

답 : 

1) : 1079

2) : exe

 

2. 다음을 cron을 이용한 프로세스 스케쥴링을 관리하는 과정이다. 조건에 맞게 (괄호)안에 알맞은 내용을 적으시오.

가. ihduser가 예약한 작업의 시간을 변경하려고 한다.
#(1) (2) ihduser

나. /etc/check.sh는 월,목,금 오전 4시 5분에 실행한다.
#(3) /etc/check.sh

다. /etc/heartbeat.sh 명령을 10분 주기로 실행한다.
#(4) /etc/heartbeat.sh

 

조건

  • (1)번은 관련 명령어만 기입한다.
  • (2)번은 (1)번에 사용되는 명령어의 옵션이나 설정 값을 한 번에 기입한다. 명령어가 틀리면 채점하지 않는다.
  • (3),(4)번은 cron 항목 중에 날짜 및 시간 관련 5가지 설정에 대해서만 조건과 형식에 맞게 순차적으로 기입한다.

답 : 

1) : crontab

2) : -eu 또는 -e, -u

       → ihduser라는 특정 사용자의 스케줄을 변경하는것이므로 무조건 -u 옵션이 같이 들어가야 한다

3) : 5 4 * * * 1,4,5

4) */10 * * * * 또는 0-59/10 * * * * 또는 0,10,20,30,40,50 * * * *

 

 

3. 다음을 cron을 이용한 프로세스 스케쥴링을 관리하는 과정이다. 조건에 맞게 (괄호)안에 알맞은 내용을 적으시오.

가. ihduser 사용자가 실행시킨 프로세스의 PID를 출력한다.
#(1) (2) ihduser
나. ihduser 사용자가 실행시킨 프로세스를 강제 종료시킨다.
#(3) (4) ihduser

조건

  • (1), (3)번은 관련 명령어만 기입한다.
  • (2),(4)번은 명령어의 옵션 또는 설정 값을 기입하는데, 여러 옵션이 필요한 경우 한 번에 기입한다. ex) -d -m
  • (1),(3)번의 명령어가 틀린 경우에 (2),(4)번은 채점하지 않는다.

답 : 

1) : pgrep

2) : -u

3) : pkill 또는 killall

4) -9 -u (-9대신에 -KILL, SIGKILL 등 가능)

 

4. 다음 조건에 맞게 프로세스의 우선 순위를 변경하려고 할 때 (괄호) 안에 알맞은 내용을 적으시오.

PID가 1222인 프로세스의 NI 값을 할당 가능한 최대 값으로 설정하여 우선 순위를 최대한 높인다.
(1) (2) 1222

조건

  • (1)번은 관련 명령어만 기입한다.
  • (2)번은 명령어의 옵션 또는 옵션과 관련된 인자값을 기입하는데, 옵션과 관련된 인자값이 있는 경우에는 하나의 괄호로 처리한다 (ex : -d -u)
  • (1)번의 명령어가 틀린 경우, (2)번은 채점하지 않는다.

답 : 

1) : renice

2) : -20

 

5. 다음은 ihduser 사용자가 설정한 cron 작업을 조정하는 과정이다. (괄호)안에 알맞은 내용을 적으시오.

가. ihduser 사용자가 설정한 cron 작업 내용을 확인한다.
#(1) (2) idhuser

나. idhuser 사용자가 설정한 cron 작업 내용을 수정한다.
#(1) (3) ihduser

다. idhuser 사용자가 설정한 cron 작업 내용을 삭제한다.
#(1) (4) ihduser

조건

  • (1)번은 관련 명령어만 기입한다.
  • (2)번은 필요한 옵션을 한 번에 기입한다.

 

답 : 

1) crontab

2) -l -u

3) -e -u

4) -r -u

 

6. 사용자가 로그아웃하거나 작업 중인 터미널 창이 닫혀도 실행 중인 프로세스를 백그라운드 프로세스로 계속 작업이 실행되도록 설정혀라 한다. (괄호)안에 알맞은 내용을 적으시오.

# (1) tar cvf cousrce.tar /opt/src (2)

답 : 

1) nohup

2) &

728x90