리눅스 백그라운드(Back Ground)&포그라운드(Fore Ground): 프로세스 제어하기

리눅스의 프로세스는 백그라운드(Back Ground)와 포그라운드(Fore Ground) 두 가지의 모드로 작동됩니다. 리눅스 백그라운드 작업을 하는 이유는 일반적인 쉘 명령어를 실행했을 때 프로세스가 종료될 때까지 기다리면서 다른 작업을 하지 못하는 경우가 있기 때문입니다.

✅ 리눅스 포그라운드(Fore Ground)란?

터미널에 직접 연결되어 터미널과 입출력을 진행하는 프로세스를 뜻 합니다.

  • “Fore Ground”는 “땅에 대한” 또는 “지상에 대한”이라고 직역할 수 있으며, “Foreground“라는 용어는 주로 컴퓨터 과학 및 그래픽 디자인 분야에서 사용되며, ‘전경’, ‘전면’의 의미로 사용됨을 알 수 있습니다.
  • 사용자가 명령을 실행하면 해당 명령이 실행되는 동안 해당 프로세스가 포그라운드에서 실행됩니다.
  • 명령이 완료되기 전에는 해당 터미널 세션에서 다른 명령을 실행할 수 없습니다.
리눅스 단축키설명
Ctrl+D포그라운드 프로세스 정상 종료
Ctrl+C포그라운드 프로세스 강제 종료
Ctrl+Z포그라운드 프로세스 임시 정지 

✅ 리눅스 백그라운드(Back Ground)란?

용량이 큰 파일을 압축하거나 find 명령어 등을 실행할 때 터미널 창을 하나 더 여는 방법보다 백그라운드 명령어를 실행해서 작업 효율을 높일 수 있습니다.

  • 리눅스에서 “백그라운드”는 프로세스나 작업이 사용자의 주목을 받지 않고 실행 중인 상태를 나타냅니다.
  • 데몬 프로세스 및 리눅스 크론과 같이 일정 간격으로 실행되는 작업이 이에 포함됩니다.

✅ 백그라운드 명령어: 작업 및 프로세스 확인

사용자가 명령어를 입력해서 백그라운드 작업을 진행할 수 있습니다.

  • & 명령어를 이용해서 백그라운드에서 명령어를 실행할 수 있습니다.
명령어 &

용량이 큰 파일을 압축하거나 find 명령어 등을 실행할 때 터미널 창을 하나 더 여는 방법보다 백그라운드 명령어를 실행해서 작업 효율을 높일 수 있습니다.

  • 용량이 큰 파일의 경우 백그라운드 작업을 진행할 수 있습니다.
tar cfzp www.tgz www/ & 
[1] 2577
jobs
[1]+  Running                 tar cfzp www.tgz www/ &
jobs                           
[1]+  Done                    tar cfzp www.tgz www/ 
  • 포그라운드 명령어 작업 중에 예상보다 시간이 오래 걸릴 경우 [Ctrl + Z] 명령어를 사용하면 백그라운드로 이동됩니다.
tar cfzp usr.tgz usr/
^Z
[1]+  Stopped                 tar cfzp usr.tgz usr/
  • 정지 상태의 백그라운드를 실행 시킵니다.
bg %1
[1]+ tar cfzp www.tgz usr/ &
~]# 
ps -ef | grep 2577
root        2577    1961  1 15:00 pts/0    00:00:00 tar cfzp www.tgz www/
  • 포그라운드&백그라운드 명령어프로세스 제어
  • jobs 명령어
리눅스 커맨드 라인 인터페이스(Linux command line Interface-CLI)

jobs 명령어는 실행 중인 리눅스 백그라운드 작업을 조회하는 명령어입니다.

jobs -옵션 [Job ID]
# 기본 사용 
jobs
[1]+  Running                 tar cfzp www.tgz www/ &

jobs -l
[1]+  5466    Running                 tar cfzp www.tgz www/ &
  • 대 괄호 안에 있는 [1]+ 은 jobs ID입니다. Running은 현재 실행 중인 상태를 의미하며 맨 우측에 실행 중인 명령어를 확인할 수 있습니다.

Similar Posts