강좌
클라우드/리눅스에 관한 강좌입니다.
리눅스 분류

백그라운드 프로세스를 포그라운드(foreground)로 전환하는 fg개론과 사용법

작성자 정보

  • 관리자 작성
  • 작성일

컨텐츠 정보

본문

백그라운드 프로세스를 포그라운드(foreground)로 전환하는 fg개론과 사용법





 

리눅스 시스템에서 실행되고 있는 모든 프로세스들은 전면부(foreground) 또는 후면부(background) 중 하나의 모드로 실행되고 있습니다. 

 

 

 

 우리가 흔히 사용하는 명령어들에 의해서 실행되는 거의 대부분의 프로세스들은 foreground모드입니다. 

 

 

 

 하지만, 명령어의 끝부분에 “&”를 붙여서 실행하거나 특별한 경우의 프로세스들은 background모드로 실행이 됩니다. 

 

 

 

 , 명령행의 끝에 "&"를 붙여서 실행하면 처음부터 background모드로 실행이 됩니다. 

 

 

 

 

 

fg"foreground"의 약어로서 전면부프로세스(foreground process)로 실행시키는 쉘내부명령어입니다. 

 

 

 

 모든 프로세스의 기본적인 실행모드는 전면부프로세스(foreground process) 실행입니다. 

 

 

 

 

 

fg명령어는 bg명령어와는 반대의 명령어로서 후면부(background)모드로 실행되고 있는 명령어를 전면부실행 프로세스(foreground process)로 다시 전환하는 역할을 합니다. 

 

 

 

 그리고 jobs명령어는 실행시킨 프로세스들이 어떤 모드로 실행중인가를 확인하며 그 리스트를 출력하는 명령어입니다. 

 

 

 

 

 

사용형식  :  fg [%작업번호]

 

다음과 같이 tar /usr 디렉토리의 전체내용을 압축하는 명령을 실행 하였습니다. 

 

 

 

 별다른 옵션 없이 실행을 하였으므로 이 프로세스는 foreground모드로 실행이 되었습니다. 

 

 

 

  따라서 이 프로세스가 종료되기 전 까지 사용자는 어떠한 작업도 할 수가 없습니다. 

 

 

 

 

 

이 프로세스의 실행이 오랫동안 지속되므로 필자는 "^Z"를 눌러서 프로세스를 일시적으로  멈추었습니다. 

 

 

 

 그리고 jobs를 실행하여 잠시 멈춰둔 프로세스의 상태를 확인하였습니다. 

 

 

 

 그리고 "bg %1"을 입력하여 이 프로세스를 백그라운드로 전환 하였습니다. 

 

 

 

 그런 후에 백그라운드로 실행중인 프로세스를 확인하기 위하여 jobs명령을 입력한 것입니다. 

 

 

 

 

 

[root@su250 /]# tar cvfz /backup/usr.tar.gz /usr >& /dev/null

^Z

[1]+  Stopped                 tar cvfz /backup/usr.tar.gz /usr >&/dev/null

[root@su250 /]#

[root@su250 /]# jobs

[1]+  Stopped                 tar cvfz /backup/usr.tar.gz /usr >&/dev/null

[root@su250 /]#

[root@su250 /]# bg %1

[1]+ tar cvfz /backup/usr.tar.gz /usr >&/dev/null &

[root@su250 /]#

[root@su250 /]# jobs

[1]+  Running                 tar cvfz /backup/usr.tar.gz /usr >&/dev/null &

[root@su250 /]#

 

현재 tar 명령으로 수행된 프로세스는 백그라운드모드로 수행중입니다. 

 

 

 

 이 프로세스를 다시 전면부프로세스(foreground process)로 실행하기 위하여 다음과 같이 "fg % 1"을 입력한 것입니다. 

 

 

 

 

 

[root@su250 /]#

[root@su250 /]# fg %1

tar cvfz /backup/usr.tar.gz /usr >&/dev/null

 

 

이와 같이 fg명령어는 백그라운드로 실행중인 프로세스를 다시 전면부프로세스(foreground process)로 전환하는 역할을 합니다. 

 

 

 

 

 

관련자료

댓글 0
등록된 댓글이 없습니다.

공지사항


뉴스광장


  • 현재 회원수 :  60,043 명
  • 현재 강좌수 :  35,853 개
  • 현재 접속자 :  71 명