[CS/운영체제] 리눅스 프로세스 관리 - 8부

황제연·2025년 5월 25일
0

CS학습

목록 보기
85/193
post-thumbnail

프로세스 관련 명령어

ps (process status)

동작중인 프로세스의 상태를 출력하는 명렁어입니다

사용법

ps [option]

pstree

프로세스 상태를 트리구조로 출력합니다
가장 왼쪽은 부모 프로세스, 오른쪽은 자식 프로세스입니다

사용법

pstree -h

top

동작하는 프로세스의 상태를 실시간으로 화면에 출력해줍니다
프로세스의 상태와 CPU, 메모리, 부하 상태 등도 확인할 수 있습니다
top 명령은 실행 상태에서 명령을 입력하여, 프로세스 상태를 출력하거나 제어할 수 있습니다

사용법

top [option]

kill

프로세스에 특정한 시그널을 보내는 명령입니다
옵션없이 실행하면 프로세스에 종료신호를 보냅니다

보통 중지시킬 수 없는 프로세스를 종료시킬 때 사용합니다

사용법

kill [option] [signal] [PID 또는 %job_number]

killall

여러 같은 데몬 프로세스를 한번에 종료할 때 사용합니다
시그널을 지정하지 않으면 종료시그널이 전송됩니다

사용법

killall [option] 프로세스명

jobs

백그라운드로 실행중인 프로세스나 중지된 프로세스 프로세스 목록을 출력하는 명령어입니다

사용법

jobs [option]

fg

백그라운드 프로세스를 포어그라운드 프로세스를 전환하는 명령어입니다

사용법

fg [%Job_number]
fg [Job_number]

bg

포어그라운드 프로세스를 백그라운드 프로세스로 전환하는 명령어입니다

포어그라운드로 실행중인 프로세스를 [ctrl] + [z]를 눌러 작업을 일시중지 시킨 후에
bg 명령어를 사용해서 백그라운드로 전환할 수 있습니다

사용법

bg

nice

프로세스의 우선순위를 변경하는 명령으로 NI값을 설정할 때 사용합니다
프로세스에 설정되어있는 NI의 기본 값은 0이고,
지정가능한 값의 범위는 -20 ~ 19이며 값이 작을 수록 우선순위가 높습니다

nice 명령으로 지정하는 값은 기존 설정한 값에 증감하는 형식이며,
일반 사용자는 NI값을 증가만 가능하고 root 유저만 NI 값을 감소시켜 우선순위를 높일 수 있습니다

사용법

nice [option] 프로세스명

renice

실행중인 프로세스의 우선순위를 변경할 때 사용하는 명령으로 PID, 사용자 이름, 프로세스 그룹ID를 사용합니다

nice는 프로세스명으로 우선순위를 조정하고, 명령을 실행하면 새로운 프로세스가 추가로 발생합니다
그에비해 renice는 주로 PID를 사용하고 기존 프로세스를 교체해서 조정합니다

그리고 nice는 기존 NI값을 증감하는 형태지만
renice는 기존의 NI값 상관없이 지정한 NI값이 바로 설정됩니다

nice와 동일하게 root만이 NI값을 낮춰서 우선순위를 높일 수 있고, NI범위는 -20 ~ 19 입니다

사용법

renice [option] NI값 PID

nohup

사용자가 로그아웃하거나 작업중인 터미널창이 닫혀도
실행중인 프로세스를 백그라운드 프로세스로 작업하도록 하는 명령어입니다

실행중인 프로세스의 표준 출력과 에러는 nohup.out파일을 생성해서 기록하고
쓰기 작업이 불가능한 경우에는 $HOME/nohup.out파일을 생성해서 기록합니다

nohup은 실행하는 명령을 백그라운드 프로세스로 생성하지 않으므로
사용자가 명령행 뒤에 &을 명시해야합니다

사용법

nohup 명령

pgrep

프로세스를 이름 기반으로 검색하는 명령으로 PID 값을 출력합니다
옵션을 이용해서 사용자명, 그룹명등으로도 PID 조회가 가능합니다

pgrep [option] [pattern]

pkill

프로세스명을 사용해서 특정 프로세스에 시그널을 보내는 명령어입니다
kill 명령과 같이 기본 시그널은 15번 시그널인 TERM 시그널입니다

프로세스 명과 사용자/그룹명 등으로 프로세스를 종료시킬 수 있습니다

사용법

pkill [option] [pattern]

프로세스 모니터링 명령어

pidof

실행중인 특정 프로그램의 PID를 출력합니다

사용법

pidof 프로그램명

vmstat

process, memory, swap, 블록 장치 I/O, 시스템 관련 정보, CPU사용률을 출력하는 명령어입니다

사용법

vmstat [options]

uptime

시스템이 가동된 후 얼마나 오랫동안 유지되었는지를 확인하는 명령어입니다

사용법

uptime

iostat

CPU및 I/O 장치 등의 상태 정보를 출력하는 명령입니다
해당 명령어가 존재하지 않으면 syssta패키지를 설치하면 됩니다

사용법

iostat [option]

sar

시스템의 활동에 관한 정보를 수집하고 보여주고 저장하는 명령어입니다
해당 명령은 OS에서 일어나는 활동 상태를 누적시켜 표준출력으로 기록합니다

사용법

sar [option]

mpstat

CPU 관련 정보를 출력하는 명령어입니다

사용법

mpstat [option] [간격 [횟수]]

pidstat

실행중인 작업들을 PID 기준으로 CPU 사용량을 출력하는 명령어입니다

사용법

pidstat [option] [간격 [횟수]]

fuser

파일이나 소켓, 파일 시스템을 사용하고 있는 프로세스의 PID등을 보여주는 명령어로
옵션에 따라 프로세스의 소유자를 보여주고, 신호를 보내 제어할 수 있습니다

파일 시스템 영역에서 사용자가 해당 파일 시스템을 사용중인 경우
언마운트 되지 않을 때 확인하고 종료시킬 때 유용하게 사용할 수 있습니다

사용법

fuser [option] [디렉토리명]
fuser [option] 포트명/프로토콜명
fuser [option] 포트번호/프로토콜명

참고

  • CentOS 7로 이해하는 리눅스 관리 및 시스템 보안 - 도서
profile
Software Developer

0개의 댓글