Linux / 명령어 / jobs - 현재 셸의 작업 목록 확인

jobs는 현재 Bash 셸이 관리하는 백그라운드 작업과 중지된 작업을 보여 줍니다. 시스템의 모든 프로세스를 조회하는 ps와 범위가 다릅니다.

jobs 명령어란?

셸의 작업 번호는 %1처럼 표기하고, 운영체제 프로세스 ID는 숫자 PID입니다. 한 작업은 파이프라인 등 여러 프로세스로 구성될 수 있습니다. 다른 터미널이나 다른 셸에서 시작한 작업은 현재 셸의 jobs 목록에 나오지 않습니다.

기본 문법

jobs [옵션] [작업지정자]

설치된 구현과 옵션은 배포판에 따라 다를 수 있습니다. help jobs으로 현재 시스템의 설명을 확인하세요.

사용 예제

백그라운드 작업 시작

끝의 &는 명령을 백그라운드 작업으로 시작합니다.

sleep 120 &

현재 셸의 작업 확인

작업 번호, 상태와 원래 명령을 확인합니다.

jobs

PID도 함께 표시

작업 번호와 실제 PID를 대조합니다.

jobs -l

현재 셸의 작업 번호 읽기

jobs는 시스템 전체 프로세스가 아니라 지금 사용 중인 셸에서 시작한 백그라운드·일시 중지 작업을 보여줍니다.

sleep 60 &
jobs -l

예시 출력(PID와 작업 번호는 달라짐):

[1]+ 12345 Running  sleep 60 &

[1]은 이 셸의 작업 번호, 12345는 프로세스 PID입니다. 다른 터미널이나 새 셸에서 jobs를 실행하면 이 작업이 보이지 않습니다. 셸을 닫아도 작업을 유지해야 한다면 nohup, tmux 또는 서비스 관리자를 검토하세요.

주요 옵션과 형식

옵션·형식 설명
-l 작업 상태와 함께 PID를 표시합니다.
-p 작업의 프로세스 그룹 대표 PID만 표시합니다.
-r 실행 중인 작업만 표시합니다.
-s 중지된 작업만 표시합니다.

사용할 때 주의할 점

jobs는 셸 내장 명령이며 현재 셸의 작업 테이블만 조회합니다. 스크립트나 비대화형 셸에서는 작업 제어가 비활성일 수 있습니다. 예제의 sleep 작업은 시간이 지나면 목록에서 사라지며, 남아 있다면 kill %1처럼 해당 셸의 작업 번호로 종료할 수 있습니다.

자주 묻는 질문

jobs가 비어 있는데 ps에는 프로세스가 보이는 이유는?

jobs는 현재 셸이 시작해 관리 중인 작업만 표시하고, ps는 시스템 프로세스 목록을 조회하기 때문입니다.

공식 문서

옵션의 정확한 동작과 구현별 차이는 jobs 관련 공식 문서에서 확인할 수 있습니다.

같은 카테고리의 다른 글
Linux 강좌 / systemd 서비스와 부팅 로그 확인하기

Linux 강좌 / systemd 서비스와 부팅 로그 확인하기

리눅스 부팅 흐름과 systemd 유닛을 이해하고 서비스의 실행 상태와 자동 시작 설정을 구분합니다. systemctl과 journalctl로 상태·부팅 로그를 확인합니다.

Linux 강좌 / APT와 DNF로 패키지 설치·업데이트하기

Linux 강좌 / APT와 DNF로 패키지 설치·업데이트하기

Debian·Ubuntu의 APT와 Rocky Linux의 DNF로 패키지를 검색·설치·업데이트·제거하는 방법을 비교합니다. 저장소와 의존성, 업데이트 전 확인할 항목을 다룹니다.

Linux / 명령어 / resolvectl - systemd DNS 설정과 이름 조회 상태 확인

Linux / 명령어 / resolvectl - systemd DNS 설정과 이름 조회 상태 확인

Linux resolvectl 명령어의 기능과 기본 문법을 설명합니다. 실제 사용 예제, 주요 옵션과 작업 전 확인할 점을 알아봅니다.

Linux / 명령어 / pgrep - 조건에 맞는 프로세스 ID 검색

Linux / 명령어 / pgrep - 조건에 맞는 프로세스 ID 검색

Linux pgrep 명령어의 기본 문법과 실제 사용 예제를 설명합니다. 주요 옵션과 결과를 해석할 때 주의할 점을 확인할 수 있습니다.

Linux / 명령어 / ssh - 암호화된 원격 접속과 명령 실행

Linux / 명령어 / ssh - 암호화된 원격 접속과 명령 실행

Linux ssh 명령어의 기능과 기본 문법을 설명합니다. 실제 사용 예제, 주요 옵션과 작업 전 확인할 점을 알아봅니다.

Linux / 명령어 / watch - 명령 결과를 주기적으로 반복 확인

Linux / 명령어 / watch - 명령 결과를 주기적으로 반복 확인

Linux watch 명령어로 명령 결과를 일정 간격으로 반복 확인하는 방법을 설명합니다. -n, -d, -g, -p 옵션과 파이프·따옴표 사용법, 메모리·디스크·프로세스 모니터링 예제를 정리합니다.

Linux / 명령어 / chmod - 파일·디렉터리 접근 권한 변경

Linux / 명령어 / chmod - 파일·디렉터리 접근 권한 변경

Linux chmod 명령어의 기본 문법과 실제 사용 예제를 설명합니다. 주요 옵션과 결과를 해석할 때 주의할 점을 확인할 수 있습니다.

Linux / 리눅스 Bash 명령어 연결 연산자: ;, &&, ||, &, | 사용법

Linux / 리눅스 Bash 명령어 연결 연산자: ;, &&, ||, &, | 사용법

리눅스 Bash의 ;, &&, ||, &, |, |&, ! 차이를 종료 상태와 실제 예제로 설명합니다. 조건부 실행, 백그라운드 작업, 파이프라인과 pipefail 사용법까지 정리합니다.

Linux / 명령어 / help - 셸 내장 명령어 도움말 확인

Linux / 명령어 / help - 셸 내장 명령어 도움말 확인

Bash help 명령어로 셸 내장 명령과 문법의 도움말을 확인하는 방법을 설명합니다. 출력 형식, 패턴 검색, type·man·--help와의 차이 및 스크립트 활용법을 정리합니다.

Linux / 명령어 / dig - DNS 레코드와 응답 자세히 조회

Linux / 명령어 / dig - DNS 레코드와 응답 자세히 조회

Linux dig 명령어의 기능과 기본 문법을 설명합니다. 실제 사용 예제, 주요 옵션과 작업 전 확인할 점을 알아봅니다.