개요
리눅스에서는 하나의 터미널에서 여러 작업을 동시에 실행할 수 있습니다. `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` 명령어로 확인해야 합니다.