728x90
프로세스: 현재 시스템에서 실행 중인 프로그램
프로세스의 부모-자식 관계
- 프로세스는 부모-자식 관계를 가지고 있음
- 필요에 따라 부모 프로세스(parent process)는 자식 프로세스(child process)를 생성하고, 자식 프로세스는 또 다른 자식 프로세스 생성 가능
- 부팅할 때 스케줄러가 실행한 프로세스인systemd와 kthreadd프로세스를 제외하면 모든 프로세스는 부모 프로세스를 가지고 있음
- 자식 프로세스는 할 일이 끝나면 부모 프로세스에 결과를 돌려주고 종료

프로세스의 번호 : 각 프로세스는 고유한 번호(PID)
프로세스의 종류
- 데몬 프로세스(HTTP, SSH)
- 특정 서비스를 제공하기 위해 존재하며 리눅스 커널에 의해 실행
- 고아 프로세스(systemd - 보통 1번 프로세스)
- 자식 프로세스가 아직 실행 중인데 부모 프로세스가 먼저 종료된 자식 프로세스는 고아(orphan)프로세스
- 1번 프로세스가 고아 프로세스의 새로운 부모 프로세스가 되어 고아 프로세스의 작업 종료 지원
- 좀비 프로세스
- 자식 프로세스가 실행을 종료했는데도 프로세스 테이블 목록에 남아 있는 경우
- 좀비 프로세스는 프로세스 목록에defunct프로세스라고 나오기도함
- 좀비 프로세스가 증가하면 프로세스 테이블의 용량이 부족해서 일반 프로세스가 실행되지 않을 수도 있음
SID
UUID : 장치의 고유번호
프로세스 목록 보기
현재 실행 중인 프로세스의 목록을 보는 명령: ps
- 유닉스 (SVR4)옵션 : 묶어서 사용할 수 있고, 붙임표로 시작한다(예 : -ef).
- BSD 옵션 : 묶어서 사용할 수 있고, 붙임표로 시작하지 않는다(예 : aux).
- GNU 옵션 : 붙임표 두 개로 시작한다(예 : --pid).
포그라운드 작업
- 포그라운드 프로세스: 사용자가 입력한 명령이 실행되어 결과가 출력될 때까지 기다려야 하는 포그라운드 방식으로 처리되는 프로세스
- 이를 작업 제어에서는 포그라운드 작업이라고 함
sleep 100 -> 포그라운드 작업 / sleep 명령이 끝날 때까지 기다려야 한다.
백그라운드 작업
- 백그라운드 프로세스: 명령을 실행하면 명령의 처리가 끝나는 것과 관계없이 곧바로 프롬프트가 출력되어 사용자가 다른 작업을 계속할 수 있음
- 작업 제어에서는 백그라운드 작업이라고 함
sleep 100 & -> 백그라운드 작업
바로프롬프트 나옴 / 프롬프트가 바로 나와 다른 명령을 실행할 수 있다.
다른 작업하는 동안 그 작업을 연산중 (병렬처리와 비슷)
이전 백그라운드 작업 결과가 언제나올지 모르니 리다이렉트 해주는게 좋음
<포그라운드, 백그라운드 프로세스와 작업 제어>
작업 제어
- 작업 제어는 작업 전환과 작업 일시 중지, 작업 종료를 의미
- 작업 전환: 포그라운드 작업-> 백그라운드 작업 // 백그라운드 작업->포그라운드 작업으로 전환
- 작업 일시 중지: 작업을 잠시 중단
- 작업 종료: 프로세스를 종료하는 것처럼 작업을 종료
@ jobs
- 기능 : 백그라운드 작업을 모두 보여줌, 특정 작업 번호를 지정하면 해당 작업의 정보만 보여줌
- 형식 : jobs %작업번호
ctrl + c 강제종료 인터럽트
ctrl + d 정상종료
ctrl + z 또는 stop %작업 번호 포그라운드 작업을 일시 중지함
bg %작업 번호 : 백그라운드로 작업시작
fg %작업 번호 : 포그라운드로 작업시작
작업 예약
특정한 시간에 작업을 수행하도록 예약할 수 있는 두 가지 방법
- 정해진 시간에 한 번만 수행 at
- 정해진 시간에 반복 수행 crontab
at [옵션][시간]
- - l 실행대기 중 명령의 전체 목록을 출력 (atq 명령과 동일)
- -r 작업번호
- -m 메일로알려줌
- -f 실행할 명령을 파일로 지정
crontab [-u USERID][옵션][파일명]
- -e 로그인한 사용자로 예약.
- -l crontab 파일의 목록을 출력한다.
- -r crontab 파일을 삭제한다.

728x90
'P-Language > [Linux]' 카테고리의 다른 글
[Linux] 리눅스 시스템의 부팅 (0) | 2022.12.01 |
---|---|
[Linux] 특수 접근 권한 (0) | 2022.12.01 |