본문 바로가기
CS/Linux

Process & Signal

by JHyun0302 2023. 8. 29.
728x90

프로그램  : 파일 형태로 존재하는 실행 파일

프로세스 : CPU와 메모리를 사용하여 실행 중인 프로그램

 

 

※ 프로그램 상태

status explain
New (생성) 프로세스가 생성되는 상태
Ready (준비) CPU 할당되기를 대기하는 상태
Running (실행) CPU 할당되어 실행 중인 상태
Waiting / Sleeping (대기) 다른 프로세스의 서비스 or 디스크 I/O 작업 완료될 때까지 대기
Terminated (종료) 프로세스 실행이 완료된 상태

 

 

 

※ 프로그램 상태 전이

status explain
Admitted (승인) new → ready
Scheduler Dispatch (스케줄러 디스패치) ready → run
Interrupt (인트럽트) run → ready
I/O or Event wait (입출력 or 이벤트 대기) run → waiting
I/O or Event Completion (입출력 or 이벤트 완료) waiting → ready

 

 

 

◎ 참고 : wc 명령어 (word count)

wc –c .test.txt  // .vimrc 파일의 바이트 수 (바이트 단위 파일크기) 확인
wc -m .test.txt  // .vimrc 파일 내의 문자 수 확인
wc -w .test.txt  // .vimrc 파일 내의 단어 수 확인
wc -l .test.txt  // .vimrc 파일 내의 줄 수 확인

 

 

 

 

 


Foreground & background

 

 

 

※ Foreground  process : 키보드로 표준 입력을 받아서 실행되는 process

 

 

※ Background  process : 한 프로세스가 실행되는 동안 뒤에서 실행되는 process

 

 

 

 

ps 명령어 : 현재 실행 중인 프로세스 확인

  • ps -f : foreground 프로세스만 확인
  • ps -ef : foreground & background 프로세스 모두 확인

 

 

htop 명령어 : top 유틸리티 개선

//설치
sudo apt-get update
sudo apt-get install htop

//실행
htop

 

 

 

 

 


Signal 

사용자가 프로세스에게 특정 이벤트 알리기 위해 사용

 

 

 

 

signal number signal explain default
2 SIGINT 프로세스 종료 (인터럽트 키 : Command + C) 종료
9 SIGKILL 강제 종료 종료
11 SIGSEGV 잘못된 메모리 주소 참조 에러(segmentation fault) 발생시 코어 덤프 생성하고 프로세스 비정상 종료 코어 덤프
15 SIGTERM 프로세스 종료 정려
19 SIGSTOP 프로세스 일시 중지 중지
20 SIGTSTP 프로세스 일시 중지(일시 중지 키 : Command + Z) 중지

 

 

 

jobs 명령어 : 일시 중지된 프로세스 및 Background 프로세스 확인

 

 

 

 

bg 명령어 : 일시 중지된 프로세서 Background로 실행

bg %job_ID

 

 

 

 

fg 명령어 : 일시 중지된 프로세서 or Background 프로세스를 Foreground로 실행

fg %job_ID

 

 

 

 

kill 명령어 : 일시 중지된 프로세서 or Background 프로세스 종료

kill %job_ID       //종료
kill -9 %job_ID    //강제 종료

 

 

 

 

 

 

반응형

'CS > Linux' 카테고리의 다른 글

MPI 병렬 프로그래밍  (0) 2023.08.30
OpenMp 병렬 프로그래밍  (0) 2023.08.29
디렉토리 관리 관련 함수  (0) 2023.08.29
파일 관리 관련 함수  (0) 2023.08.29
Func (File System & File Input/Output)  (0) 2023.08.29