본문 바로가기
Linux

[Linux] 20. 포그라운드, 백그라운드 프로세스와 작업 제어

by 상도동개발자 2023. 2. 15.
SMALL

1. 포그라운드 작업과 백그라운드 작업

1-1. 포그라운드 작업

- 사용자가 입력한 명령이 실행되어 결과가 출력될때까지 기다리는 방식으로 처리되는 프로세스를 프로그라운드 프로세스라고 한다.

- 포그라운드 작업은 일반적으로 사용자가 명령을 실행하는 방식으로, 프롬프트가 출력되지 않아 다른 명령을 입력 할 수 없으므로 기다려야 한다.

포그라운드 작업 환경에서는 100초간 대기해야한다.

1-2. 백그라운드 작업

- 한 터미널에서 여러 개의 프로세스를 동시에 실행 할 수 있다.

- 명령을 백그라운드로 실행하려면 다음 예와 같이 명령의 마지막에 & 기호를 추가한다.

백그라운드에서 실행 시 바로 다른 명령 실행 가능

2. 작업 제어

- 작업 제어는 작업 전환, 작업 일시 중지, 작업 종료를 뜻한다.

- 작업 전환 : 포그라운드 작업을 백그라운드로 전환하거나, 백그라운드 작업을 포그라운드 작업으로 전환하는 것을 말한다.

- 작업 일시 중지 : 작업을 잠시 중단하는 것

- 작업 종료 : 프로세스를 종료하는것 처럼 작업을 종료하는 것

2-1. jobs

- 백그라운드 작업을 모두 보여준다. 특정 작업 번호를 지정하면 해당 작업의 정보만 보여준다.

- 형식 jobs [%작업 번호]

- %작업번호 옵션

옵션 설명
%번호 해당 번호의 작업 정보를 출력
%+ 작업 순서가 +인 작업 정보를 출력
%- 작업 순서가 -인 작업 정보를 출력

jobs 명령어 사용 예시

- jobs 명령의 출력 정보

항목 출력 예 의미
작업 번호 [1] 작업 번호로서 백그라운드 실행할 때마다 순차적으로 증가한다([1],[2],[3].. )
작업 순서 + 작업 순서를 표시한다.
- +(플러스) : 가장 최근에 접근한 작업
- -(마이너스) : + 작업 바로 전에 접근한 작업
- 공백 : 그 외의 작업
상태 실행중 작업 상태를 표시한다.
- 실행중 : 현재 실행되고 있다.
- 완료 : 작업이 정상적으로 종료되었다.
- 종료됨 : 작업이 비정상적으로 종료되었다.
- 멈춤 : 작업이 잠시 중단되었다.
명령 sleep & 백그라운드 실행 중인 명령이다.

- 작업 전환 명령

명령 기능
Ctrl + z 또는 stop %작업 번호 포그라운드 작업을 중지한다(종료하는 것이 아니라 잠시 중단하는 것이다)
bg %작업 번호 작업 번호가 지시하는 작업을 백그라운드 작업으로 전환한다.
fg %작업 번호 작업 번호가 지시하는 작업을 포그라운드 작업으로 전환한다.

- 작업 종료하기

- Ctrl + c 키를 이용해 작업을 종료한다.

2-2. nohup 

- 로그아웃한 후에도 백그라운드 작업을 계속 실행한다.

- 형식 : nohup 명령 &

- nohup 명령을 사용 할 떄는 반드시 백그라운드로 실행해야 한다.

- 별도로 출력 방향을 전환을 하지 않으며 명령의 실행 결과와 오류 메시지가 현재 디렉터리에 nohup.out 파일로 자동 저장된다.

728x90
반응형
LIST

댓글