본문 바로가기
Linux BSP

[Linux] Foreground, Background 개념 명령어로 이해하기

by TYB 2024. 2. 16.
반응형

firefox를 쳐서 대기중인건 foreground 프로세스인거임.

 

bash라는 프로세스가 fork를 통해서 firefox라는 자식프로세스를 만들고 실행되는거임. 고로 firefox의 부모 프로세스는 배쉬쉘임. 

 

firefox가 종료될 때까지 배쉬쉘은 아무 동작도 안함.

명령어를 쳐도 버퍼에 저장되어 있다가

firefox가 종료된 후에야 버퍼의 명령어를 실행하는거임.

 

이렇게 fg로 실행하면 자꾸 막혀있으니까, bg 개념이 나온거

 


 

ubuntu@ubuntu8:~$ firefox &

 

작업번호 1번

 

백그라운드로 실행했기 때문에 여러 명령어를 칠 수 있음.

 

 

ubuntu@ubuntu8:~$ jobs

 


만약 실수로 fg로 돌린걸 bg로 돌리고 싶다?

 

 

ctrl+z를 눌러서 프로세스 중지

top 명령어를 쳐서 확인해보면 stop된게 확인이 되

 

 

실행중인 프로세스 확인

ubuntu@ubuntu8:~$ ps -ef

 

 

실행중인 프로세스 갯수 확인

ubuntu@ubuntu8:~$ ps -ef | wc -l

 

 

프로세스 상태정보 확인

ubuntu@ubuntu8:~$ ps auwx

 

 

실행중인 프로세스 갯수 확인

ubuntu@ubuntu8:~$ jobs

 

 

정지된 fg 다시 fg로 동작시키기

 

ubuntu@ubuntu8:~$ jobs
ubuntu@ubuntu8:~$ fg %2

 

 

 

 


 

 

정지된 fg 다시 bg로 동작시키기

ubuntu@ubuntu8:~$ jobs
ubuntu@ubuntu8:~$ bg %2
ubuntu@ubuntu8:~$ jobs

 

bg에서 돌고나서 종료된 모습임.

 

 

반대로 bg에 있던걸 fg로 가져오고 싶다?

 

 

fg에서 돌고 있으므로 터미널이 firefox에 막혀있는 모습을 볼 수 있음.

 

firefox가 fg에서 돌고 있는 상태에서 ctrl+z를 눌러서 firefox를 stop시키면 아무런 버튼도 먹지 않음

 

 

다시 bg로 살려주면 다시 돌아옴

반응형