본문으로 이동
메뉴 여닫기
환경 설정 메뉴 여닫기
개인 메뉴 여닫기
로그인하지 않음
지금 편집한다면 당신의 IP 주소가 공개될 수 있습니다.

정지된 작업(job)을 백그라운드에서 다시 실행한다.

  • 셸의 작업 제어(job control) 기능이며, bash 내장 명령이다.
  • 정지된 작업에 SIGCONT 시그널을 보내 백그라운드에서 계속 실행되게 한다.
  • 작업을 지정하지 않으면 현재 작업(%+, jobs 목록에서 + 표시)을 대상으로 한다.
  • 경로 : bash 내장 명령 (type bg로 확인)
$ bg [%작업지정자 ...]
  • %번호 : jobs 명령으로 확인한 작업 번호로 지정한다. (예: %1)
  • %%, %+ : 현재 작업을 지정한다.
  • %- : 이전 작업을 지정한다.
  • %문자열 : 명령이 해당 문자열로 시작하는 작업을 지정한다.
  • %?문자열 : 명령에 해당 문자열이 포함된 작업을 지정한다.
# 오래 걸리는 명령을 실행한 뒤 Ctrl+Z로 정지한다.
$ tar cf /tmp/home.tar /home
^Z
[1]+  Stopped                 tar cf /tmp/home.tar /home

# 정지된 현재 작업을 백그라운드에서 계속 실행한다.
$ bg
[1]+ tar cf /tmp/home.tar /home &

# 작업 번호를 지정하여 백그라운드로 보낸다.
$ bg %2

# 작업 상태를 확인한다.
$ jobs -l
  • Ctrl+Z(SIGTSTP)로 정지 → bg로 백그라운드 실행 → fg로 포그라운드 전환하는 순서가 자주 출제된다.
  • 작업 번호 지정 형식(%1, %%, %+, %-)을 묻는 문제가 나온다.
  • 백그라운드 작업은 로그아웃 시 SIGHUP으로 종료될 수 있으므로, 계속 실행하려면 nohup을 사용한다.