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

백그라운드에서 실행 중이거나 정지된 작업(job)을 포그라운드로 전환하여 실행한다.

  • 셸의 작업 제어(job control) 기능이며, bash 내장 명령이다.
  • 작업을 지정하지 않으면 현재 작업(%+, jobs 목록에서 + 표시)을 대상으로 한다.
  • 경로 : bash 내장 명령 (type fg로 확인)
$ fg [%작업지정자]
  • %번호 : jobs 명령으로 확인한 작업 번호로 지정한다. (예: %1)
  • %%, %+ : 현재 작업(가장 최근에 정지되거나 백그라운드로 보낸 작업)을 지정한다.
  • %- : 이전 작업을 지정한다.
  • %문자열 : 명령이 해당 문자열로 시작하는 작업을 지정한다.
  • %?문자열 : 명령에 해당 문자열이 포함된 작업을 지정한다.
# 작업 목록을 확인한다.
$ jobs
[1]-  Stopped                 vi test.txt
[2]+  Running                 sleep 600 &

# 현재 작업(+ 표시, 2번)을 포그라운드로 가져온다.
$ fg

# 1번 작업을 포그라운드로 가져온다.
$ fg %1

# 명령이 vi로 시작하는 작업을 포그라운드로 가져온다.
$ fg %vi
  • 포그라운드 작업을 Ctrl+Z로 정지(SIGTSTP)한 뒤 bg로 백그라운드 실행, fg로 다시 포그라운드 전환하는 흐름이 자주 출제된다.
  • 작업 번호는 %번호로 지정하며, PID가 아니라 jobs 명령에 표시되는 번호이다.
  • 명령 끝에 &를 붙이면 처음부터 백그라운드로 실행한다.