> 프로세스 관리 > jobs

jobs: 백그라운드 작업 관리

jobs 명령어는 현재 셸(shell)에서 실행 중인 백그라운드 작업의 상태를 확인하는 데 사용됩니다. 작업 번호, 상태, 명령어 등을 보여주며, 이를 통해 여러 작업을 효율적으로 관리할 수 있습니다.

개요

리눅스에서는 하나의 터미널에서 여러 작업을 동시에 실행할 수 있습니다. `jobs` 명령어는 현재 셸 세션에서 실행 중인 작업들을 나열하여, 어떤 작업이 백그라운드에서 실행 중이거나 정지 상태인지 보여줍니다. 이를 통해 사용자는 `fg`(포그라운드로 가져오기)나 `bg`(백그라운드에서 실행하기)와 같은 명령어를 사용하여 작업의 상태를 제어할 수 있습니다. `jobs`는 특히 장시간이 소요되는 작업을 터미널을 점유하지 않고 실행할 때 유용합니다. 만약 `jobs`를 입력했을 때 아무런 출력도 나오지 않는다면, 이는 현재 백그라운드에서 실행 중이거나 일시 정지된 작업이 없다는 의미입니다.

주요 특징

jobs 명령어의 주요 특징은 다음과 같습니다.

  • 현재 셸에서 실행 중인 백그라운드 작업을 보여줍니다.
  • 작업 번호(job number)를 통해 개별 작업을 식별할 수 있습니다.
  • 작업의 상태(실행 중, 정지됨, 완료 등)를 확인할 수 있습니다.
  • `fg`나 `bg`와 같은 명령어로 작업을 제어하는 데 사용됩니다.

작업의 상태

jobs 명령어는 다음과 같은 작업 상태를 출력할 수 있습니다.

  • Running: 작업이 백그라운드에서 현재 실행 중인 상태입니다.
  • Stopped: 작업이 일시 정지된 상태입니다. `Ctrl+Z`를 눌러 정지할 수 있습니다.
  • Done: 작업이 성공적으로 완료된 상태입니다.
  • Terminated: 작업이 비정상적으로 종료된 상태입니다.

주요 옵션

자주 사용하는 jobs 명령어의 옵션을 목적에 따라 그룹화했습니다.

1) 출력 옵션

2) 도움말

생성된 명령어:

명령어를 조합해 보세요.

설명:

`jobs` 명령어를 실행합니다.

위 옵션들을 조합하여 AI와 함께 가상으로 명령어를 실행해 보세요.

사용 예시

jobs 명령어의 다양한 사용 예시를 통해 기능을 익혀보세요.

백그라운드 작업 시작 및 확인

sleep 60 &
jobs

`sleep 60` 명령어를 백그라운드(`&`)로 실행한 후, `jobs`로 상태를 확인합니다.

작업을 정지시키고 확인

ping google.com
(Ctrl+Z 입력)
jobs

`ping` 명령을 실행하다가 `Ctrl+Z`를 눌러 정지시킨 후, `jobs`로 상태를 확인합니다.

정지된 작업을 백그라운드에서 실행

bg %1

`jobs`로 확인한 정지된 작업(`Stopped`)을 `bg` 명령어로 백그라운드에서 다시 실행합니다.

백그라운드 작업을 포그라운드로 가져오기

fg %2

`jobs`로 확인한 작업(`Running`)을 `fg` 명령어로 포그라운드로 가져옵니다.

PID와 함께 작업 목록 출력

jobs -l

`-l` 옵션을 사용하여 작업 번호, 상태, PID를 함께 확인합니다.

설치

jobs는 셸(bash, zsh 등)의 내장 명령어로, 별도의 설치가 필요하지 않습니다.

팁 & 주의사항

jobs 명령어 사용 시 유의할 점들을 정리했습니다.

  • `&` 기호를 사용하면 명령어를 백그라운드에서 실행할 수 있습니다. (예: `long_running_script.sh &`)
  • `Ctrl+Z`는 현재 실행 중인 포그라운드 작업을 일시 정지(suspend)시키는 단축키입니다. 정지된 작업은 `bg`로 다시 실행하거나 `fg`로 포그라운드로 가져올 수 있습니다.
  • `jobs`는 현재 셸에서 실행된 작업만 보여줍니다. 다른 터미널에서 실행된 작업은 `ps` 명령어로 확인해야 합니다.

관련 명령어

기능적으로 유사하거나 함께 자주쓰이는 명령어들입니다.


동일 카테고리 명령어