2022-05-02 백그라운드 실행

2022. 5. 3. 22:54BE/Linux

백그라운드 실행

 

출처 ~!!!!!! 

목소리가 감미로우신 이고잉 선생님의 오픈튜토리얼 리눅스 강의 : https://youtu.be/ZL4qFGf1z_4

 

요약

ctrl+z 
# 실행중인 프로그램을 백그라운드로 보내는 단축키. 이 기능을 실행하면 명령어가 일시 정지 됩니다.

ls &
# 명령어 뒤에 &를 붙이면 명령어를 백그라운드에서 실행합니다.

jobs 
[1]    suspended  vim
[2]  - suspended  vi
[3]  + suspended  vim
# 백그라운드 작업들의 목록을 보여줍니다.

bg %n
# [n]번째 프로그램을 background에서 실행합니다.

fg %n
# [n]번째 프로그램을 foreground에서 실행합니다.

kill %n
# [n]번째 프로그램을 종료합니다.이때 %를 반드시 넣을 것!

kill -9 %n
# [n]번째 프로그램을 강제로 종료합니다.

 


ctrl+z

 

❯ vim
# ctrl+z
[1]  + 3731 suspended  vim

❯ jobs
[1]  + suspended  vim

실행 중인 프로그램을 백그라운드로 보내는 단축키.

 

이 기능을 실행하면 명령어가 일시 정지됩니다.

 

그렇기에 다시 실행하기 위해선 fg 또는 bg 명령어를 입력해야 한다.

 


명령어 &

 

# 예시
ls -alR / > result.txt 2> error.log & 
# -R 옵션은 하위의 디렉토리까지 출력한다.
# &가 명령어 뒤에 붙으면 명령어가 실행될 때 백그라운드로 실행됩니다.
# 백그라운드에서 실행하지 않으면 명령이 종료되기까지 기다려야한다.

 

시간이 오래 걸리는 작업을 기다리지 않고서 다른 작업을 할 수 있게 된다.

 


fg

 

❯ jobs
[1]    suspended  vim
[2]  - suspended  vi
[3]  + suspended  vim

fg 
# + 표시가 있는 프로그램을 foreground로 실행

fg %1 
# [1]번 표시가 있는 프로그램을 foreground로 실행

 

background에 작업을 foreground에서 실행한다.

 


bg

 

❯ sleep 20
^Z
[1]  + 3753 suspended  sleep 20

❯ jobs
[1]  + suspended  sleep 20

❯ bg %1
[1]  + 3753 continued  sleep 20

❯
❯
[1]  + 3753 done       sleep 20

 

background에 중지된 작업을 다시 background에서 실행한다.

 


kill %n

 

❯ jobs
[1]  + suspended  vim
[2]    suspended  vi
[3]  - suspended  vim

❯ kill %2
[2]  + 3666 suspended (tty output)  vi

❯ jobs
[1]  - suspended  vim
[2]  + suspended (tty output)  vi
[3]    suspended  vim

❯ kill -9 %2 # 강제로 종료
[2]  + 3666 killed     vi

❯ jobs
[1]  + suspended  vim
[3]  - suspended  vim

kill %n 명령어만으로 종료되지 않는 경우가 있다.

 

그때 kill -9 % n로 강제 종료를 시킬 수 있다.