Linux與命令列基礎
在終端機執行耗時的 ./sim.sh 途中,想在同一個終端機使用其他指令。按下 Ctrl+Z 後執行 bg 時的動作是下列何者?
- ACtrl+Z 會結束 sim.sh,執行 bg 後同一個指令會從頭在背景重新執行
- BCtrl+Z 會暫停 sim.sh,bg 會讓它從暫停處在背景繼續執行
- CCtrl+Z 會把 sim.sh 移到背景繼續執行,執行 bg 後則會暫停
查看答案與解析
正確答案:B. Ctrl+Z 會暫停 sim.sh,bg 會讓它從暫停處在背景繼續執行
按下 Ctrl+Z 時,會對在前景執行的工作送出 SIGTSTP,讓工作暫停。bg 指示該工作恢復執行並在背景繼續,fg 則把它帶回前景。執行中的工作及其狀態可以用 jobs 確認,若要一開始就在背景執行,則像「./sim.sh &」那樣加上 & 啟動。不過,終端機的連線中斷時,背景的工作也可能停止,所以耗時的處理需要另外的對策。
- A. Ctrl+Z 不是結束工作而是暫停工作。bg 也不是從頭,而是從暫停處繼續。
- B. 正確。用 bg 讓暫停的工作在背景繼續執行。
- C. Ctrl+Z 與 bg 的作用顛倒了。Ctrl+Z 是暫停,bg 是在背景繼續。