리눅스 백그라운드(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

  • 리눅스 서버 시간 동기화: timedatectl(CentOS7 이상)

    리눅스에서 날짜 및 시간 설정이 필요한 이유는 서버 운영 중 시간이 잘못되면, 입력되는 DB데이터, 로그 데이터, 웹 서버에 접속한 기록 등의 시간이 맞지 않는 경우가 발생할 수 있기 때문입니다. 리눅스 서버 시간 동기화를 사용하는데 있어 OS는 두 개의 시계를 가지고 있습니다.시스템 시계(소프트웨어 시계), 하드웨어 시계(실시간 시계, BIOS 시계)입니다. 목차✅ 리눅스 포그라운드(Fore Ground)란?✅ 리눅스…

  • ps 명령어(프로세스 명령어)

    ps 명령어는 현재 실행 중인 프로세스를 출력하는 명령어입니다. 목차✅ 리눅스 포그라운드(Fore Ground)란?✅ 리눅스 백그라운드(Back Ground)란?✅ 백그라운드 명령어: 작업 및 프로세스 확인1. ps 명령어 옵션 ps에서 주로 사용되는 명령어입니다. 기본 사용 옵션은 아래와 같습니다. 2. ps -ef 명령어 ps -ef 명령어는 모든 프로세스를 포멧 리스트로 출력해 줍니다. 2.1 출력 필드 ps 출력 필드 기본…

  • 리눅스 퍼미션(4,2,1)과 소유권 | chmod, chown, umask 명령어 | 스티키 비트

    리눅스 퍼미션(Permission)은 권한(&허가)을 의미합니다. 유닉스 계열 운영 체제들은 MS-DOS 계열의 운영 체제들은 멀티 테스킹 시스템이 아니며 멀티 유저 시스템 역시 아닙니다. 보통 컴퓨터는 하나의 키보드와 모니터를 가지고 한 명이 사용하지만 멀티 유저 시스템인 리눅스는 한 명 이상이 사용할 수 있다는 것을 의미합니다. 유닉스 계열의 멀티 유저 시스템은 운영 체제 설계 초기부터 깊게 내장된…

  • rm 명령어

    목차✅ 리눅스 포그라운드(Fore Ground)란?✅ 리눅스 백그라운드(Back Ground)란?✅ 백그라운드 명령어: 작업 및 프로세스 확인1. rm 명령어 ‘rm 명령어‘ 는 파일 및 디렉토리를 삭제하는 명령어이다. ‘rm 명령어’ 는 심볼릭 링크는 삭제하지만 링크의 대상 파일은 삭제하지 않는다. ls 명령어와 함께 많이 사용되는 명령어이다. rm(remove) 명령어 rm –remove 파일 및 디렉토리 삭제 ~]# rm -i –interactive 기존…

  • 리눅스 kill 명령어[kill -9 PID]

    리눅스 kill 명령어는 사용 중인 프로세스를 종료하는 명령어입니다. 터미널에서 프로세스에 시그널(Signal)을 보내서 프로세스를 종료합니다. 프로그램이 정지하거나 응답하지 않는 경우 일반적인 종료가 되지 않는 경우 등에 따라 명령어를 실행하게 됩니다. kill process는 사용 시 중요한 시스템 프로세스를 종료 시키면 시스템이 불안정해질 수 있기 때문에 주의해서 사용해야 합니다. 목차✅ 리눅스 포그라운드(Fore Ground)란?✅ 리눅스 백그라운드(Back Ground)란?✅…

  • 리눅스 which whereis locate: 3가지 위치(경로) 확인 명령어

    리눅스 which와 whereis 명령어 명령어의 위치를 알 수 있는 명령어는 find 명령어를 이용해서 파일을 찾을 수 있지만 find 명령어는 시간이 소요되는 단점도 존재합니다. locate 명령어는 파일명을 빠르게 검색할 때 사용할 수 있습니다. 리눅스 기본 명령어 3가지에 대해 알아 보겠습니다. 목차✅ 리눅스 포그라운드(Fore Ground)란?✅ 리눅스 백그라운드(Back Ground)란?✅ 백그라운드 명령어: 작업 및 프로세스 확인✅ 리눅스…

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

Prove your humanity: 10   +   1   =