Linux 명령어 - 백그라운드와 포그라운드 이해하기
Linux 명령어 - 백그라운드와 포그라운드
이번 포스팅에서는 포그라운드(foreground)와 백그라운드(background)에 대해서 알아보도록 하겠습니다.
Linux - 포그라운드(foreground)와 백그라운드(background) |
1. 다중 작업(Multi-tasking)
우리의 PC와 서버는 여러 사용자가 동시에 작업을 수행할수 있습니다 이러한 동시에 여러작업을 수행하는것을 다중작업이라고 합니다
각각의 작업은 시스템 CPU의 점유률의 따라 정해진 자원만큼 번갈아 가면서 사용하지만 시대의 변화에 따라 성능의 진화와 효과적으로 자원을 관리 기능으로 인하여 각각의 작업을 독립적으로 수행할 수준까지 왔습니다
2. 백그라운드와 포그라운드
사용자가 터미널에서 명령어로 프로세스를 실행할때 포그라운드(foreground)와 백그라운드(background)로 2가지의 형태로 동작합니다
1) 포그라운드(foreground)
포그라운드(foreground)는 터미널로 직접 연결하여 터미널를 통해하여 입/출력을 주고 받는 프로세스 입니다
또한 프로세스가 포그라운드로 실행되는 동안에는 터미널에서 작업을 할 수가 없으며, 터미널 세션을 종료하거나 프로세스를 종료하면 포그라운드는 종료 됩니다
포그라운드(foreground) 상태에서 종료할 경우 "<Ctrl> + C"를 입력하여 강제로 종료할 수 있습니다.
2. 백그라운드(background)
백그라운드(background)는 프로세스가 실행되는 동안에도 터미널에서 작업을 프로세스 입니다
백그라운드로 프로세스를 실행시키면 프로세스의 종료 여부와 관계없이 다른 명령어를 실행 시킬수 있습니다.
3. 서스펜드(Suspend)
프로세스가 실행이 머춘 상태로 대기하는 경우를 서스펜드(Suspend)라고 합니다.
포그라운드(foreground) 실행될때 "<Ctrl> + z" 입력하면 서스펜드(Suspend) 상태가 됩니다