본문 바로가기

Dev. Server/Linux

[리눅스] 백그라운드와 포그라운드의 차이점

 

 

오늘은 백그라운드와 포그라운드의 차이점을 알아보겠습니다.

 

 


 

 

※ 포그라운드

 

명령프롬프트 또는 터미널에서 사용자가 명령어를 입력하면 명령어를 해석하여 실행합니다.

예를 들어 cp, sleep, mv 등 여러가지의 명령어를 입력하면 그 결과를 화면에서 출력해줍니다.

출력된 결과를 화면에서 보고 다시 명령어를 입력하여 대화식으로 작업을 수행합니다.

입력한 명령어 실행의 결과가 나올 때까지 기다리는 방식이 바로 포그라운드 방식입니다.

이를 포그라운드 프로세스라고 말하며 작업 제어 측면에서는 포그라운드 작업이라고 합니다.

단점으로는 이미 명령어를 입력한 후에 다른 명령어를 바로 입력할 수 없고 기다린 후에 입력해야합니다.

즉, 원래 터미널에서 작업할 때 화면에 출력된 결과를 보고 다시 명령을 입력하는 대화식으로 작업을 수행합니다.

 

 

 

 

 

 

 

※ 백그라운드

 

프로세스가 실행되고 있는 동안 다른 프로세스를 같이 실행 할 수 있습니다.

하나의 쉘에서 여러 개의 프로세스를 동시에 실행 할 수 있는 방식입니다.

만약 필요한 여러 작업이 동시에 진행하면서 포그라운드 작업을 계속 진행할 수 있습니다.

백그라운드 작업은 해당 명령어 처리가 오래 걸릴걸 대비해 백그라운드를 이용하면 여러 작업을 동시에 수행 가능합니다.

즉, 포그라운드 프로세스가 실행되는 동안 뒤에서 다른 프로세스를 실행하여 한 터미널에서 여러 개의 프로세스를 같이 실행 가능하며, 명령의 마지막에 & 기호를 추가해줍니다.