English

disown — 셸 작업 목록에서 분리

Linux / 서비스 및 프로세스 관리 / disown.html

서비스 및 프로세스 관리원문등록 2026-10-20T09:00:00+09:00

셸이 관리하는 작업 목록에서 특정 작업을 제거해 로그아웃 시 신호를 받지 않게 하는 내장 명령.

기본 정보

명령어 이름disown
한 줄 소개셸이 관리하는 작업 목록에서 특정 작업을 제거해 로그아웃 시 신호를 받지 않게 하는 내장 명령.
제공Bash 및 POSIX 셸 내장
공식 문서https://www.gnu.org/software/bash/manual/html_node/Job-Control-Builtins.html
지원 운영체제Linux, macOS, BSD
설치 여부기본 탑재 (셸 내장)
분류리눅스 서비스·프로세스 (태그: 프로세스·자원 관리 (태그: 작업 제어, 로그아웃, 세션))

이 명령어는 무엇인가?

disown은 셸의 작업 테이블에서 작업을 빼서 셸이 더 이상 그 작업을 추적하지 않게 합니다.

nohup 없이 백그라운드로 띄운 작업이 셸 종료 시 함께 정리되는 것을 막을 때 유용합니다.

어떤 문제를 해결하는가?

  • SSH 세션 종료 후에도 작업을 유지합니다.
  • 셸 종료 시 SIGHUP 전달을 피합니다.
  • 작업 목록을 깔끔하게 정리합니다.
  • 실수로 종료되지 않게 보호합니다.

주요 기능

작업 분리

작업 번호를 지정해 작업 테이블에서 제거합니다.

  • 활용 상황: 로그아웃 후에도 유지할 작업
  • 얻는 결과: 셸이 더 이상 추적하지 않음
  • 제한 사항: 분리 후에는 jobs에 보이지 않음

HUP 무시 결합

-h 옵션으로 작업이 HUP 신호를 받지 않게 표시합니다.

  • 활용 상황: 신호만 막고 추적은 유지할 때
  • 얻는 결과: SIGHUP을 무시하는 작업
  • 제한 사항: 여전히 작업 테이블에 남음

전체 분리

-a 옵션으로 모든 작업을 한 번에 분리합니다.

  • 활용 상황: 여러 작업을 정리할 때
  • 얻는 결과: 작업 테이블이 비워짐
  • 제한 사항: 되돌릴 수 없음

설치 및 실행

설치 여부 확인

help disown

man bash # disown is a shell builtin

실제 사용 예제

작업 분리

1번 작업을 셸 작업 목록에서 제거합니다.

# Detach job 1 from the shell
 disown %1

HUP 무시

HUP 신호를 받지 않도록 표시합니다.

# Mark job 1 to ignore SIGHUP
disown -h %1

전체 분리

모든 작업을 분리합니다.

# Detach every job
 disown -a