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 |