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 / 명령어 / du - 파일과 디렉터리 용량 확인

Linux / 명령어 / du - 파일과 디렉터리 용량 확인

Linux du 명령어로 디렉터리와 파일의 디스크 사용량을 확인하고 큰 항목을 찾는 방법을 설명합니다. apparent size, 파일시스템 경계와 df 결과가 다른 이유도 정리합니다.

Linux / 명령어 / time - 명령 실행 시간 측정

Linux / 명령어 / time - 명령 실행 시간 측정

Linux time 명령어로 명령과 파이프라인의 실행 시간 및 자원 사용량을 측정하는 방법을 설명합니다. Bash 예약어와 GNU /usr/bin/time의 차이, 출력 저장과 정확한 비교 방법을 정리합니다.

Linux / 명령어 / nslookup - DNS 이름과 레코드 조회

Linux / 명령어 / nslookup - DNS 이름과 레코드 조회

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

Linux 강좌 / 파일 시스템 이해하기 - 절대·상대 경로와 주요 디렉터리

Linux 강좌 / 파일 시스템 이해하기 - 절대·상대 경로와 주요 디렉터리

리눅스 파일 시스템의 트리 구조와 절대·상대 경로를 이해하고, /home·/etc·/var 등 주요 디렉터리의 역할과 경로를 읽는 방법을 익힙니다.

Linux / 리눅스 디렉토리 구조와 주요 디렉토리별 용도

Linux / 리눅스 디렉토리 구조와 주요 디렉토리별 용도

리눅스의 /etc, /var, /usr, /home, /proc, /dev 등 주요 디렉토리별 용도와 이름의 의미를 정리합니다. 리눅스 파일시스템 구조를 처음 배우거나 서버 관리에 필요한 디렉토리를 확인할 때 참고할 수 있습니다.

Linux / 명령어 / w - 로그인 사용자와 실행 중인 작업 확인

Linux / 명령어 / w - 로그인 사용자와 실행 중인 작업 확인

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

Linux / 명령어 / cmp - 두 파일을 바이트 단위로 비교

Linux / 명령어 / cmp - 두 파일을 바이트 단위로 비교

Linux cmp 명령어로 두 파일을 바이트 단위로 비교하는 방법을 설명합니다. 첫 차이 위치, 조용한 검사, 모든 차이 출력과 종료 상태 활용법을 정리합니다.

Linux / 명령어 / mktemp - 안전한 임시 파일과 디렉터리 생성

Linux / 명령어 / mktemp - 안전한 임시 파일과 디렉터리 생성

Linux mktemp 명령어로 예측하기 어려운 이름의 임시 파일과 디렉터리를 안전하게 만드는 방법을 설명합니다. 템플릿, TMPDIR, trap을 이용한 정리와 -u 옵션의 위험도 알아봅니다.

Linux / 리눅스 배포판 종류와 버전 확인하는 방법

Linux / 리눅스 배포판 종류와 버전 확인하는 방법

리눅스 배포판 종류와 버전을 /etc/os-release, hostnamectl, uname 명령으로 확인하는 방법을 설명합니다. 배포판 계열과 커널 버전의 차이, 스크립트 활용법과 컨테이너·WSL 환경의 주의점도 함께 정리합니다.

Linux / 명령어 / sed - 스트림에서 텍스트 검색·치환

Linux / 명령어 / sed - 스트림에서 텍스트 검색·치환

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