Linux / 명령어 / fg - 셸 작업을 포그라운드로 가져오기

fg는 현재 셸의 백그라운드 또는 중지된 작업을 포그라운드로 가져옵니다. 그 작업이 터미널 입력을 다시 받도록 하거나 직접 상태를 확인할 때 사용합니다.

fg 명령어란?

포그라운드로 가져오면 셸 프롬프트는 작업이 종료되거나 다시 중지될 때까지 기다립니다. 작업 번호는 jobs로 확인합니다. fg의 대상은 PID가 아니라 현재 셸의 작업 지정자입니다.

기본 문법

fg [%작업번호]

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

사용 예제

현재 셸 작업 확인

어떤 작업이 백그라운드에 있는지 확인합니다.

jobs -l

특정 작업을 앞으로 가져오기

예시의 작업 번호를 실제 값으로 바꿉니다.

fg %1

작업 다시 중지하거나 종료

포그라운드 작업에서 Ctrl+Z는 중지, Ctrl+C는 보통 인터럽트 신호를 보냅니다.

jobs

백그라운드 작업을 다시 앞으로

fg는 현재 셸의 작업을 터미널 전경으로 가져와 입력을 받거나 완료될 때까지 기다리게 합니다. 작업 번호는 먼저 jobs에서 확인합니다.

jobs
fg %1

예를 들어 vim notes.txt를 Ctrl+Z로 일시 중지한 뒤 fg %1로 가져오면 편집기 화면이 터미널에 다시 나타납니다. 화면이나 반환 시점은 해당 프로그램에 따라 달라지므로 고정된 한 줄의 출력은 없습니다.

fg는 다른 터미널의 임의 PID를 가져오는 명령이 아닙니다. 작업이 이미 끝났거나 현재 셸의 작업이 아니면 가져올 수 없습니다. 실행 중인 프로그램을 다시 멈추려면 일반적으로 Ctrl+Z를 사용합니다.

주요 옵션과 형식

옵션·형식 설명
%N 현재 셸의 N번 작업을 선택합니다.
%+ 현재 작업을 선택합니다.
%- 이전 작업을 선택합니다.
인수 생략 현재 작업을 대상으로 합니다.

사용할 때 주의할 점

현재 셸이 관리하지 않는 프로세스는 fg로 가져올 수 없습니다. 비대화형 환경에서는 작업 제어가 꺼져 있을 수 있습니다. 긴 작업을 터미널 종료 후에도 유지하려면 fg 대신 tmux나 서비스 관리 방식을 검토하세요.

자주 묻는 질문

fg %1에서 %1은 PID인가요?

아니요. 현재 셸의 작업 번호입니다. jobs 출력에 표시된 번호를 사용합니다.

공식 문서

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

같은 카테고리의 다른 글
Linux / 명령어 / resolvectl - systemd DNS 설정과 이름 조회 상태 확인

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

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

Linux / 명령어 / gunzip - gzip 압축 파일 풀기

Linux / 명령어 / gunzip - gzip 압축 파일 풀기

Linux gunzip 명령어의 용도와 기본 문법을 알아봅니다. 파일 처리 예제, 주요 옵션과 원본 보존·덮어쓰기 주의점을 설명합니다.

Linux / 명령어 / file - 파일 종류와 형식 확인

Linux / 명령어 / file - 파일 종류와 형식 확인

Linux file 명령어로 확장자와 관계없이 실제 파일 형식, MIME 유형과 문자 인코딩을 확인하는 방법을 설명합니다. 심볼릭 링크, 압축 파일, 여러 파일 검사와 스크립트 활용법도 정리합니다.

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

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

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

Linux / 명령어 / ip - 인터페이스·주소·라우팅 상태와 설정

Linux / 명령어 / ip - 인터페이스·주소·라우팅 상태와 설정

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

Linux / 명령어 / ln - 하드 링크와 심볼릭 링크 생성

Linux / 명령어 / ln - 하드 링크와 심볼릭 링크 생성

Linux ln 명령어로 하드 링크와 심볼릭 링크를 만드는 방법을 설명합니다. 두 링크의 차이, 상대 경로, 깨진 링크와 기존 링크 교체 시 주의점도 정리합니다.

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

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

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

Linux / Memo

Linux / Memo

리눅스와 관련된 여러 정보를 정리합니다.

Linux / 명령어 / which - PATH에서 실행 파일 경로 찾기

Linux / 명령어 / which - PATH에서 실행 파일 경로 찾기

Linux which 명령어로 PATH에서 실행 파일 경로를 찾는 방법을 설명합니다. type과 command -v의 차이, 별칭·함수 확인과 스크립트 이식성도 정리합니다.

Linux / 명령어 / fmt - 일반 텍스트 문단의 줄바꿈 조정

Linux / 명령어 / fmt - 일반 텍스트 문단의 줄바꿈 조정

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