-리눅스에서 프로세스가 실행되는 방식인 포그라운드, 백그라운드 프로세스를 학습한다.
-생활코딩의 리눅스 강의를 바탕으로 학습 및 보충학습하였다.
-ubuntu 12.10을 사용하였다.
포그라운드와 백그라운드란
프로세스가 실행되는 방식에는 두 가지가 있다. 포그라운드(foreground)와 백그라운드(background)인데 해석 그대로 앞과 뒤에서 실행되는 프로세스를 의미한다.
포그라운드는 터미널에서 우리가 작업할 때 화면에 출력된 결과를 보고 명령을 입력하는 대화식 작업을 한다. 명령을 실행하고 결과 출력때까지 기다리는 방식으로 처리된다.
백그라운드는 포그라운드 프로세스가 실행되는 동안에 뒤에서 다른 프로세스를 실행하여 한 터미널에서 여러 프로세스를 동시에 실행한다. 데몬, 백신 프로그램같은 것이 예이다.
실습1 - 백그라운드 프로세스로 전환(ctrl+z), 백그라운드 프로세스 보기(jobs)
먼저 nano bgtest라는 명령어로 bgtest라는 파일을 만들어 nano 편집모드로 들어간다. 그리고 ctrl+z명령어를 입력하면 백그라운드 프로세스로 전환된다. 그리고 현재 실행중인 백그라운드 프로그램을 보려면 jobs라는 명령어를 사용하여 확인할 수 있다.
- jobs : 현재 실행중인 백그라운드 프로세스를 보여줌. 앞에 +(플러스)와 -(마이너스) 표시가 있는데, +는 지금 실행시킨 것이며 -는 전에 실행시킨 것을 의미.
실습2 - 포그라운드 프로세스 전환(fg)
백그라운드 프로세스에서 가장 fg 명령어를 입력하면 다시 포그라운드 프로세스로 전환시킬 수 있다.
- fg : 가장 최근에 실행시킨 백그라운드 프로세스를 포그라운드로 전환. jobs 명령시 +표시가 된 백그라운드 프로세스가 포그라운드로 전환됨.
가장 최근의 백그라운드 프로세스가 아니라 이전의 특정 백그라운드 프로세스를 실행시키려면 fg 뒤에 옵션을 주면 된다. jobs를 실행시키면 앞에 번호로 넘버링이 되어 있는데 fg %번호로 원하는 백그라운드 프로세스를 포그라운드로 전환시킬 수 있다.
실습3 - 백그라운드 프로세스 끝내기(kill)
백그라운드 프로세스를 끄고 싶을 때는 kill명령어를 사용한다.
- kill %번호 : 번호에 맞는 백그라운드 프로세스를 종료(terminate)
jobs로 우선 백그라운드 프로세스를 확인한 후, kill %5명령어로 5번째 백그라운드 프로세스를 종료했다. 이후 jobs 명령을 다시 해보면 5번 백그라운드 프로세스가 정상적으로 종료되었음을 확인할 수 있다.
'개발자 일지 > Linux' 카테고리의 다른 글
Vmware로 리눅스 서버 및 tomcat 설치하기 (0) | 2023.02.05 |
---|---|
[리눅스 기초]cron을 사용하여 정기적으로 실행하기 (0) | 2021.05.16 |
[리눅스 기초]daemon,service에 관하여 (0) | 2021.05.09 |
[리눅스마스터2급]1차 시험 문제 학습하기 (0) | 2021.05.08 |
[리눅스 기초]파일을 찾는 방법(location,find,whereis) (0) | 2021.05.04 |
[리눅스 기초]프로세스 확인하기(ps, top) (0) | 2021.05.03 |
[리눅스 기초]리눅스 디렉토리 구조 (0) | 2021.03.18 |
[리눅스 기초]쉘 스크립트(Shell Script) 개념 및 사용법, 컴파일 언어와 인터프리터 언어의 차이점 (0) | 2021.03.14 |