작업 제어(bg, fg, jobs)
셸 세션에서 백그라운드 및 포그라운드 프로세스를 관리하고, 작업을 일시 중지하고 재개하며 목록으로 확인하는 방법을 익힙니다.
작업 제어(bg, fg, jobs)은(는) CoddyKit의 무료 Linux Command Line & Bash Scripting Mastery 강의입니다. 이것은 4개 중 1번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 Linux Command Line & Bash Scripting Mastery 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. Linux Command Line & Bash Scripting Mastery 강의에는 총 4개의 강의가 포함되어 있습니다.
작업 제어란 무엇인가요?
작업 제어에 오신 것을 환영합니다! Linux 셸의 이 강력한 기능을 사용하면 터미널을 닫거나 새로 열지 않고도 실행 중인 프로그램을 관리할 수 있습니다.
명령줄에서 여러 작업을 동시에 처리하는 기능이라고 생각하면 됩니다. 작업을 일시 중지하거나 백그라운드로 보내거나 포그라운드로 다시 가져올 수 있습니다.
포그라운드와 백그라운드
명령을 실행하면 일반적으로 포그라운드에서 실행됩니다. 이는 명령이 터미널을 제어하므로 실행이 끝날 때까지 새 명령을 입력할 수 없다는 뜻입니다.
반면 백그라운드 프로세스는 독립적으로 실행됩니다. 프로세스가 실행되는 동안에도 터미널을 사용할 수 있으므로 다른 작업을 계속할 수 있습니다.
프로세스 일시 중지(Ctrl+Z)
현재 실행 중인 포그라운드 프로세스를 일시 중지하려면 키보드 단축키 Ctrl+Z를 사용합니다. 그러면 SIGTSTP 신호가 전송되어 프로세스가 일시 중지됩니다.
프로세스가 종료되는 것은 아닙니다. 다음에 무엇을 할지 사용자가 지정할 때까지 '중지된' 작업으로 대기합니다.
작업 확인하기(jobs)
프로세스를 일시 중지했거나 백그라운드로 보낸 후에는 jobs 명령을 사용하여 현재 셸 세션에서 활성 상태인 모든 작업의 목록을 확인할 수 있습니다.
각 작업에는 고유한 작업 번호(예: [1], [2])와 상태(예: Stopped, Running)가 표시됩니다.
sleep 50 &
sleep 60 &
jobs포그라운드로 가져오기(fg)
중지되었거나 백그라운드로 전환된 작업이 있다면 작업 번호(예: %1)를 뒤에 붙인 fg 명령을 사용하여 다시 포그라운드로 가져올 수 있습니다.
그러면 해당 작업이 다시 터미널에서 활성 프로세스가 됩니다.
sleep 100 &
jobs
# Now, let's bring it to foreground
fg %1백그라운드로 보내기(bg)
중지된 작업을 다시 시작하여 백그라운드로 보내려면 작업 번호와 함께 bg 명령을 사용합니다.
프로세스는 터미널을 차단하지 않고 계속 실행되며, 즉시 프롬프트를 다시 사용할 수 있습니다.
sleep 200
# Press Ctrl+Z to stop it
# Then type:
bg %1
jobs백그라운드에서 실행하기( & )
항상 프로세스를 포그라운드에서 시작한 다음 일시 중지해야 하는 것은 아닙니다. 명령 끝에 앰퍼샌드(&)를 추가하면 명령을 바로 백그라운드에서 실행할 수 있습니다.
상호 작용할 필요가 없는 장시간 실행 작업에 매우 유용합니다.
echo "Starting long task..." &
sleep 300 &
jobs작업 번호와 PID
jobs를 사용하면 [1], [2]와 같은 작업 번호를 확인할 수 있습니다. 이 번호는 해당 셸 세션에서만 유효합니다.
실행 중인 모든 프로세스에는 시스템 전체에서 고유한 프로세스 ID(PID)도 있습니다. jobs -l 또는 ps를 사용하면 PID를 확인할 수 있습니다.
sleep 100 &
jobs -l작업 중지하기(kill)
백그라운드 작업이나 중지된 작업을 종료하려면 kill 명령을 사용할 수 있습니다. 작업 번호(예: kill %1) 또는 PID(예: kill 12345)를 지정할 수 있습니다.
kill은 프로세스에 신호를 전송합니다. 기본값은 SIGTERM(정상적인 종료)입니다. 강제로 종료하려면 kill -9 %job_number 또는 kill -9 PID를 사용합니다.
sleep 500 &
jobs
# Assuming sleep is job 1:
kill %1
jobs작업 제어 퀴즈
장시간 실행되는 명령(예: find / -name *.txt)을 시작했지만, 이제 다른 명령을 입력할 수 있도록 터미널을 다시 사용해야 합니다. find 명령을 일시 중지하고, 계속 실행되도록 백그라운드로 보낸 다음, 백그라운드 작업인지 확인하는 올바른 순서는 무엇일까요?
복습: 작업 제어
작업 제어를 완전히 익히셨습니다!
Ctrl+Z는 포그라운드 프로세스를 일시 중지합니다.jobs는 모든 활성 작업을 나열합니다.fg %N은 작업N을 포그라운드로 가져옵니다.bg %N은 중지된 작업N을 백그라운드로 보냅니다.&를 추가하면 명령이 백그라운드에서 바로 실행됩니다.kill %N또는kill PID는 작업을 종료합니다.
이를 통해 하나의 터미널 세션에서 여러 작업을 효율적으로 관리할 수 있습니다!
자주 묻는 질문
“작업 제어(bg, fg, jobs)” 강의는 무료인가요?
네 — “작업 제어(bg, fg, jobs)” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 Linux Command Line & Bash Scripting Mastery 강의 전체를 잠금 해제할 수 있습니다. Linux Command Line & Bash Scripting Mastery 강의에는 총 4개의 강의가 포함되어 있습니다.
“작업 제어(bg, fg, jobs)”에서 뭘 배우나요?
셸 세션에서 백그라운드 및 포그라운드 프로세스를 관리하고, 작업을 일시 중지하고 재개하며 목록으로 확인하는 방법을 익힙니다. 브라우저에서 직접 실행하는 실습 코드로 Linux Command Line & Bash Scripting Mastery을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.
Linux Command Line & Bash Scripting Mastery을(를) 시작하는 데 경험이 필요한가요?
사전 경험은 필요하지 않습니다. CoddyKit의 Linux Command Line & Bash Scripting Mastery은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 1번째 강의입니다.
“작업 제어(bg, fg, jobs)” 강의는 얼마나 걸리나요?
대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.
이 Linux Command Line & Bash Scripting Mastery 강의에서 코드를 작성하고 실행할 수 있나요?
네. 모든 Linux Command Line & Bash Scripting Mastery 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.
이 강의의 모든 강의
- 작업 제어(bg, fg, jobs)
- 셸 확장과 와일드카드 처리
- 별칭과 사용자 지정 프롬프트
- 셸 함수와 재사용 가능한 코드 조각