본문 바로가기

자격증/리눅스 마스터

리눅스 마스터 요약정리 #1-5 : 프로세스 유틸리티

728x90

1. 프로세스 관련 명령어

ps

: 현재 실행중인 프로세스의 상태를 프로세스 번호와 함께 출력해주는 명령어

: CPU 사용도가 낮은 순서로 출력

옵션

  • -a: 터미널과 연관된 모든 프로세스 출력
  • -u: 프로세스 소유자를 기준으로 출력
  • -x: 터미널에 종속되지 않은 프로세스도 출력 (예: 데몬)

상태코드

  • Z (zombie): 작업종료, 하지만 부모 프로세스부터 회수되지 않아 메모리를 차지하고 있을 경우
  • T (stopped): 작업 정지

ps 명령어 실행 결과

 

pstree

: 실행 중인 프로세스들을 트리 구조로 출력

 

jobs

: 작업이 중지된 상태, 박그라운드로 진행 중인 상태, 변경되었지만 보고되지 않은 상태 등 표시

: 백그라운드로 실행중인 프로세스를 확인

: [숫자]는 작업번호

: +는 실행중인 작업, -는 실행 예정 작업

 

bg/fg

: 포어그라운드에서 백그라운드로 전환 (bg %작업번호 또는 bg 작업번호)

: 백그라운드에서 포어그라운드로 전환 (fg %작업번호 또는 fg 작업번호)

: 작업 전환 전 실행중인 것은 잠시 정지 필요 (프로세스 시그널 전송 필요)

 

kill

: 프로세스를 번호(PID)를 사용하여 종료

: 시그널 목록을 확인하는 명령어 kill -l

: 특히 HUP, INT, QUIT, KILL, TERM, STOP, TSTP와 단축키에 관련해서는 매우 자주 출제됨

번호 시그널명 설명
1 HUP HangUP. 로그아웃 등 접속 종료 시
2 INT Interrupt. 일시정지. 단축키 Ctrl+C
3 QUIT 실행중지. 단축키 Ctrl+\
4 ILL Illegal Instruction
5 TRAP Trace Breakpoint에서 중지점 발생 시
9 KILL 프로세스 강제 종료
15 TERM 가능한 프로세스 정상 종료 - Default
18 CONT STOP으로 정지된 프로세스 실행
19 STOP 정지 시그널
20 TSTP 실행 정지 후 재실행을 위해 대기. 단축키 Ctrl+Z

 

killall

: 같은 데몬의 여러 연관된 프로세스들을 프로세스 이름으로 종료

 

nice

: 프로세스 사이의 우선순위를 확인하고, 프로세스명을 사용하여 우선순위를 변경할 수 있는 명령어

: 조정할 수 있는 NI값의 범위는 -20 ~ 19 (우선순위 높음 ~ 낮음)

: 우선순위 default 값은 0, 값이 작을수록 우선순위가 높다

: 옵션 -n을 사용하지 않으면 default는 10

: 조정 수치가 생략되면 명령의 우선권은 10만큼 증가

: 사용자가 조정가능한 NI 값에 따라, 실제 프로세스 우선순위인 PRI가 조정됨

예) nice -10 bash: bash 프로세스 값을 10만큼 증가 (우선순위 낮춤)

예) nice --10 bash: bash 프로세스 값은 10만큼 감소 (우선순위 높임)

 

renice

: 이미 실행중인 프로세스의 우선순위를 PID 번호를 사용하여 변경

: nice와 달리, 지정한 NI값으로 설정

예) nice 10 PID번호: PID번호에 일치하는 프로세스 NI값을 10으로 설정

예) nice -10 PID번호: PID번호에 일치하는 프로세스 NI값을 -10으로 설정

 

top

: 리눅스 시스템 운영 상태를 실시간으로 모니터링, 프로세스 우선순위 변경, 프로세스 상태 확인 명령어

: top는 합산한 CPI 사용률 출력 / ps는 특정시기 CPU 사용량을 출력

추가 입력 명령

  • q: 종료
  • k: 프로세스 kill-9
  • m: 메모리 ON/OFF
  • t: 프로세스와 CPU의 ON/OFF
  • p: 옵션 지정 프로세스 ID 출력
  • w: 설정 저장

top 명령어 실행 결과

 

nohup

: 프로세스가 중단되지 않고 백그라운드로 작업을 수행할 수 있게 함

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

: 용량이 큰 데이터 압축 해제와 같은 실행이 오래 걸리는 프로세스들에 대해 nohup으로 처리하여 작업하면, 작업 중단 없이 해당 업무를 완료할 수 있음

: 해당 작업 중 표준 출력/에러는 nohup.out에 저장

: 백그라운드로 실행될 수 있도록 명령행 뒤에 &를 명시

 

tail

: 파일의 마지막 행을 기준으로 지정한 행까지 파일 내용의 일부를 출력

: 기본값으로 마지막 10줄을 출력

 

2. 스케줄링과 cron

cron/crontab

: 사용자가 주기적인 작업을 등록할 수 있도록 함

: 스케줄링 데몬은 crond

: 관리자 시스템 작업 내용은 /etc/crontab에 저장

: 시스템 개별 사용자용 작업 내용은 /var/spool/cron에 저장 

: [분] [시] [일] [월] [요일] [사용자명] [작업명령]

: n단위로 반복시에는 */n 로 표기

옵션

  • -i: 확인(information)
  • -l: 예약 작업 확인
  • -e: 예약 작업 편짐
  • -r: 예약 작업 삭제
  • -u 사용자명: root가 해당 사용자의 작업 삭제/편집/조회

 

728x90