◆
●프로세스
▷현재 시스템에서 실행 중인 프로그램
▷리눅스에서 모든 프로세스는 부모 자식 관계를 가지고 있다.
▷자식 프로세스는 할 일이 끝나면 부모 프로세스에 결과를 돌려주고 종료된다.
●PID(process identification number)
▷각 프로세스가 가지고 있는 고유한 번호
◆PCB(Process Control Block)
▷리눅스가 프로세스가 유지하는 주요 정보
●1.PID(Process ID)
●2.UID(User ID)
●3.GID(Group ID)
●4.파일 디스크립터(file descriptor. fd)
●일반 프로세스
▷잠깐 실행되었다 바로 종료 됨
●데몬 프로세스(daemon process)
▷특정 서비스를 제공하기 위하여 존재
▷24시간 동작하며 끝에 –d가 붙고, 보통 웹에 쓰임
●고아 프로세스(orphan process)
▷부모 프로세스가 먼저 종료되면 자식 프로세스는 고아 프로세스가 된다
▷1번 프로세스가 이런 고아 프로세스의 새로운 부모 프로세스가 되어 고아 프로세스가 작업을 마치고 종료될 수 있게 한다.
●좀비 프로세스(zombie process)
▷자식 프로세스가 실행을 종료했는데도 프로세스 테이블 목록에 남아 있는 경우가 있는데 이를 좀비 프로세스라고 한다.
▷부모가 프로세스가 자식 프로세스의 종료 정보를 제대로 처리하지 않았기 때문에
▷defunct 프로세스라고 나오기도 한다.
●ps
○ps [옵션]
▷현재 실행 중인 프로세스에 대한 정보를 출력한다.
▷PID:프로세스 번호, TTY:현재 터미널 번호, TIME: 사용한 CPU시간, CMD:실행 중인 명령
$ 3141 pts/1 00:00:00 bash
○-f
▷프로세스 정보 상세 출력하기(+UID, PPID(PID의 부모 PID), C, STIME)
○a
▷터미널에서 실행시킨 프로세스 정보 출력하기
▷터미널을 필요로 하는 프로세스 정보 출력하기(PID TTY STAT(상태) TIME COMMAND)
●STAT에 사용되는 문자의 의미
눔자 | 의미 | 비고 |
R | 실행 중 | |
S | 인터럽트가 가능한 대기 상태 | |
T | 작업 제어에 의해 정지된 상태 | |
Z | 좀비 프로세스 | |
STIME | 프로세스의 시작 날짜나 시간 | |
s | 세션 리더 프로세스 | BSD 형식 |
○u 옵션
▷터미널에서 실행시킨 프로세스 상세 정보 출력하기
...교재 참고
◆포그라운드 백그라운드 프로세스와 작업 제어
●포그라운드 작업
▷사용자가 입력한 명령이 실행되어 결과가 출력될 때까지 기다리는 방식으로 처리되는 프로세스를 포그라운드 프로세스라고 하며, 작업 제어에선 포그라운드 작업이다.
▷일반적으로 사용자가 실행하며, 프로세스의 실행이 지연된다. (다음 명령 불가)
●백그라운드 작업
▷명령의 처리가 끝나는 것과 관계없이 곧바로 프롬프트가 출력되어 사용자가 다른 작업을 계속할 수 있다.
▷명령의 마지막에 &(앰퍼샌드) 기호를 추가 ( $ sleep 100 &)
●작업 제어
▷작업 제어 도구가 관리하는 프로세스를 작업이라고 한다.
▷한 터미널에서 동시에 여러 프로세스를 실행하고 관리하기 위한 도구
○작업 전환, 작업 일시 중지, 작업 종료를 뜻한다.
▷작업 전환은 포그라운드/백그라운드 전환을 말한다.
▷작업 일시 정지는 작업을 잠시 중단하는 것
▷작업 종료는 프로세스를 종료하는 것
●jobs
○jobs [%작업 번호]
▷백그라운드 작업을 모두 보여준다. 특정 작업 번호를 지정하면 해당 작업의 정보만 보여준다.
항목 | 출력 예 | 의미 |
작업 번호 | [1] | 백그라운드로 실행할 때 마다 순차적으로 증가한다. |
작업순서 | + | +:가장 최근, -:+ 작업 전의 작업, 공백: 그 외 |
상태 | 실행중 | Running, Done, Terminated(비정상적 종료), Stopped(일시중) |
명령 | sleep100& | 백그라운드로 실행 중인 명령이다. |
●작업 전환하기
명령 | 기능 |
ctrl+z 또는 stop %작업번호 | 포그라인드 작업을 중지한다. |
bg %작업번호 | 작업 번호 작업을 백그라운드 작업으로 전환한다. |
fg %작업번호 | 작업 번호 작업을 포그라운드 작업으로 전환한다. |
●작업 종료하기
○ctrl+c //포그라운드 작업
○kill PID || kill %1 //백그라운드 작업
'학교수업 > 리눅스 시스템' 카테고리의 다른 글
리눅스 시스템 8주차 (0) | 2023.01.31 |
---|---|
리눅스 시스템 6주차 (0) | 2023.01.31 |
리눅스 시스템 5주차 (0) | 2023.01.31 |
리눅스 시스템 4주차 (0) | 2023.01.31 |
리눅스 시스템 3주차 (0) | 2023.01.31 |