少於 1 分鐘閱讀

前言

指令將使用 sleep 300 當範例

指令背景處理

指令最後輸入&就是放到背景處理的意思,

$ sleep 300 &
[1] 26469
$ sleep 300 &
[2] 26496

查看目前已經建立的指令 jobs

$ jobs
[1]  - running    sleep 300
[2]  + running    sleep 300
$ jobs -l
[1]  - 26469 running    sleep 300
[2]  + 26496 running    sleep 300

切換到前景執行

%1 是指第[1]個工作

$ fg %1

再切換回背景執行

這時要按下 ctrl+z 讓指令先暫停到背景

^Z
[1]  + 26469 suspended  sleep 300

再輸入 bg 讓他到背景繼續執行

$ bg %1
[1]  + 26469 continued  sleep 300

使用jobs就可以看到他已經在執行了

$ jobs
[1]  + 26469 running  sleep 300

nohup不要掛斷指令

適用於遠端ssh時,若不希望關閉terminal指令就關閉的話,可使用nohup指令

$ nohup sleep 500 &
[1] 26945
appending output to nohup.out
$ ps -fC sleep (用 ps 查詢正在用 sleep 命令執行的行程)
UID PID PPID C STIME TTY TIME CMD
root 8544 8014 0 16:41 pts/1 00:00:00 sleep 500

Reference

  1. http://linuxdiary.blogspot.tw/2007/10/blog-post_30.html

更新時間:

留言