2013년 12월 2일 월요일

[Linux] bash 쉘 - 프로세스 전처리/후면처리

자료출처: 리눅스베이교육센터

콘솔상태에서 명령을 실행시킬때 명령이 종료될 때까지 그 콘솔은 사용할 수
없으며 다른 콘솔로 작업을 하거나 해야 한다. 즉 이때 다른 명령어를 사용
하려고 할때에는 새로온 터미널(X)을 띄워야 한다. 이러한 작업들을
포그라운드 작업이라고 한다. Ctrl+C 키로 작업을 종료 시킬 수 있다.

ex1)확인해 보세요.. 지금

[seong@ilinuxbay seong]$ netscpe

[1]+ Done netscpe
[seong@ilinuxbay seong]$

반면 백그라운드 작업을 실행 시키면, 프롬프트는 바로 명령 대기 상태로
전환한다. 그러나 이러한 작업은 Ctrl+C로 종료시켰을 때 등 입력 작업을
받지 못한다. 일단 실행을 시키고 나면 kill명령어로 강제로 종료시키는 것
밖에 방법이 없다.
백그라운드로 작업을 할려면 명령뒤에 & 문자를 입력한다.

ex2)확인하기 2...
[seong@ilinuxbay seong]$ netscpe &

백그라운드 작업 확인하기....
jobs명령을 사용하면 작업번호와 작업상태, 작업 이름이 표시된다.

포그라운드와 백그라운드의 작업전환하기..

현재 실행중인 포그라운드 작업을 백그라운드로 전환하려면 현재 실행중인
작업을 Ctrl+Z(서스펜드 키라고 한다.)를 눌러 잠시 중지 상태로 만든 후
bg명령을 입력한다.
그리고 백그라운드 작업을 포그라운드로 전환하려면 fg명령을 사용한다.
그냥 fg라고만 명령하면 가장 최근의 작업이 포그라운드로 전환된다.
fg다음에 %와 작업번호를 입력하면 입력한 작업 번호의 프로세서가
포그라운드로 전환한다.

ex3)확인하기 3....
[seong@ilinuxbay seong]$ gtop &
[1] 1337
[seong@ilinuxbay seong]$ jobs
[1]+ Running gtop &

ex4)백그라운드 작업을 포그라운드로 전환하기..
백그라운드 작업을 하나 실행 시킨다...그런 다음

[seong@ilinuxbay seong]$ fg
gtop
혹은
[seong@ilinuxbay seong]$ fg % 1337

ex5)포그라운드 작업을 백그라운드로 전환하기...
[seong@ilinuxbay seong]$ gtop

[1]+ Stopped gtop
[seong@ilinuxbay seong]$ bg
[1]+ gtop &
[seong@ilinuxbay seong]$

댓글 없음:

댓글 쓰기