Foreground 와 background 프로세스, 프로세스 관리 및 제어
Foreground 와 background 프로세스
-
프로세스 vs 바이너리
-
바이너리 : 실행파일(코드 이미지)
-
프로세스 : 실행중인 프로그램
-
가상 메모리 및 물리 메모리 정보
-
시스템 리소스 관련 정보
-
스케쥴링 단위
-
리눅스는 다양한 프로세스 실행 환경
-
유닉스 철학 : 여러 프로그램이 서로 유기적으로 각자의 일을 수행하면서 전체 시스템이 동작하도록 하는 모델
-
foreground process : 쉘(shell)에서 해당 프로세스 실행을 명령한 후 해당 프로세스 수행 종료까지 사용자가 다른 입력을 하지 못하는 프로세스 → 쉘창에서 python abc.py를 입력하여 수행하면 그 프로그램이 돌아갈때 다른 명령어를 칠 수 없음, 만약 쳐져도 실행 안됨(ctrl+c 누르면 프로세스를 죽여 빠져나오는 명령)
-
background process : 사용자 입력과 상관없이 실행되는 프로세스
-
쉘(shell)에서 해당 프로세스 실행시 맨뒤에 &를 붙여줌
프로세스 관리 및 제어
-
단축키로 프로세스 명령 제어
-
ctrl + z : process stop , ctrl + c : process kill(완전 종료)
-
jobs → background에서 돌고 있는 job의 내역을 보여줌
-
bg → 바로 직전에 실행했던 process를 재실행 시킴 [5]+
-
bg [job번호] → 해당 job 번호를 재실행 시킬 수 있음
-
프로세스 상태 확인
-
보통 ps aux 로 마니 씀 혹은 ps aux | more
-
deamon process는 보통 24시간 돌고 있어야하는 프로세스, 보통 부팅될때 자동 실행
-
bash도 프로그램 부팅하면 하나의 process로 실행이 되서 사용자가 쓸 수 있게 함
-
프로세스 중지 명령어 → kill
-
kill -9 [해당프로세스 pid] 여기서 -9는 강제로 죽인다는 뜻
위 자료는 fastcampus를 토대로 작성하였음을 밝힙니다.