Linux與命令列基礎

在終端機執行耗時的 ./sim.sh 途中,想在同一個終端機使用其他指令。按下 Ctrl+Z 後執行 bg 時的動作是下列何者?

  1. ACtrl+Z 會結束 sim.sh,執行 bg 後同一個指令會從頭在背景重新執行
  2. BCtrl+Z 會暫停 sim.sh,bg 會讓它從暫停處在背景繼續執行
  3. 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 是在背景繼續。
練習這個領域 前往領域頁面

Linux與命令列基礎的其他題目

  1. 在以 SSH 連線的伺服器上,用「./run.sh &」啟動耗時的處理後中斷連線,結果處理也停止了。要讓處理在中斷連線後繼續執行,最適當的啟動方式是下列何者?
  2. 在 shell 中執行上面兩行時,顯示的字元是下列何者?
  3. 依序執行上面的指令時,兩個 echo 的輸出是下列何者?
  4. 如上所示,加上引數執行腳本 s.sh 時,輸出是下列何者?
  5. 在 shell 腳本中,上面 if 的條件為真的情況是下列何者?