프로세스
- 하드디스크에 저장된 실행 코드(프로그램)가 메모리에 로딩되어 활성화 된 것
포그라운드 프로세스
화면에 나타나 사용자와 상호작용하는 프로세스
화면에서 실행되는 것이 보이는 프로세스
백그라운드 프로세스
실행은 되었지만 화면에 나타나지 않고 뒤에서 실행되는 프로세스
ex) 바이러스 백신, 서버 데몬
프로세스 번호
각각의 프로세스에 할당된 고유 번호
활성화된 프로세스를 메모리에서 강제로 제거할 때 프로세스 번호를 사용해야 하기 때문에 필요
작업 번호
현재 실행되는 백그라운드 프로세스의 순차 번호
부모 프로세스와 자식 프로세스
모든 프로세스는 부모 프로세스의 하위에 종속되어 실행됨
부모 프로세스를 종료하면 자식 프로세스도 종료
ps
현재 프로세스의 상태를 확인하는 명령어
많은 옵션과 함께 사용 가능
프로세스의 번호 및 상태 확인 : ps -ef | grep 프로세스이름
kill
프로세스를 강제로 종료하는 명령어
-9 옵션과 함께 사용하면 무조건 프로세스가 종료
ex) kill -9 프로세스번호
pstree
부모 프로세스와 자식 프로세스의 관계를 트리 형태로 보여줌
포그라운드 프로세스와 백그라운드 프로세스
👩🏻💻 step1 - 무한루프를 도는 프로세스 중지시키기
아무것도 아닌 장치에 yes를 출력하는 무한루프 프로세스 실행
kill -9 프로세스번호 명령으로 프로세스를 종료시킨다.
그냥 종료하려면 터미널에서 Ctrl+C 를 눌러도 된다.
👩🏻💻 step2 - 포그라운드 프로세스 -> 백그라운드 프로세스 -> 포그라운드 프로세스
yes > /dev/null 명령으로 포그라운드 프로세스 생성
Ctrl+Z 를 눌러 프로세스 일시 중지
bg 명령으로 잠시 중지된 프로세스를 백그라운드 프로세스로 계속 실행시킴
jobs 명령으로 현재 백그라운드 프로세스를 확인
fg 작업번호
👩🏻💻 step3 - 처음부터 백그라운드로 실행되도록
gedit 명령을 이용하면 에디터가 열리지만 터미널을 더이상 사용할 수 없게 된다.
gedit & 명령을 이용하면 백그라운드로 프로세스를 실행할 수 있다.
<백그라운드 프로세스로 실행하면 유용한 경우>
- firefox, gedit 등 별도의 창에서 실행되는 경우
- xz, bzip2, gzip 과 같은 압축 프로그램으로 대용량 파일을 압축할 경우
<백그라운드 프로세스가 의미가 없는 경우>
- vi 에디터와 같이 현재 터미널에서 입출력 해야 하는 프로세스
서비스
- 서비스는 눈에 보이지 않지만 현재 시스템에서 동작 중인 프로세스
- 백그라운드 프로세스의 일종
- 서비스 = 데몬 = 서버 프로세스
'우분투 리눅스' 카테고리의 다른 글
4장 서버 구축 시 알아야 할 필수 개념과 명령어 (15) - GRUB 부트로더 (0) | 2022.02.24 |
---|---|
4장 서버 구축 시 알아야 할 필수 개념과 명령어 (14) - 서비스와 소켓 (0) | 2022.02.24 |
4장 서버 구축 시 알아야 할 필수 개념과 명령어 (12) - 파이프, 필터, 리디렉션 (0) | 2022.02.24 |
4장 서버 구축 시 알아야 할 필수 개념과 명령어 (11) - 네트워크 관련 설정과 명령어 (0) | 2022.02.24 |
4장 서버 구축 시 알아야 할 필수 개념과 명령어 (10) - cron과 at (0) | 2022.02.12 |