程式作業管理-背景後台運行管理 1、概念前景:你可以控制與下達指令的這個環境稱為前景的工作 (foreground); 背景:可以自行運作的工作,你無法使用 [ctrl]+c 終止他,可使用 bg/fg 呼叫該工作; www.2cto.com 背景中的程式又可以分為暫停和運行中;系統背景:如果是背景,則退出時就會中斷,如果是系統背景,則退出終端時還可以運行。2、直接將指令丟到背景中‘執行’的 &直接在命令的最後加上&即可,如[root@www ~]# tar -zpcvf /tmp/etc.tar.gz /etc > /tmp/log.txt 2>&1 &3、將‘目前’的工作丟到背景中‘暫停’:[ctrl]-z4、觀察目前的背景工作狀態: jobs[root@www ~]# jobs [-lrs]選項與參數: www.2cto.com -l :除了列出 job number 與指令串之外,同時列出 PID 的號碼;-r :僅列出正在背景 run 的工作;-s :僅列出正在背景當中暫停 (stop) 的工作。5、將背景工作拿到前景來處理:fg[root@www ~]# fg %jobnumber選項與參數:%jobnumber :jobnumber 為工作號碼(數字)。注意,那個 % 是可有可無的![1]+ Stopped 這裡的+表示如果直接輸入fg則取的是這個6、讓工作在背景下的狀態變成運作中: bg %工作號7、管理背景當中的工作: kill[root@www ~]# kill -signal %jobnumber[root@www ~]# kill -l選項與參數:-l :這個是 L 的小寫,列出目前 kill 能夠使用的訊號 (signal) 有哪些?signal :代表給予後面接的那個工作什麼樣的指示囉!用 man 7 signal 可知: -1 :重新讀取一次參數的設定檔 (類似 reload); -2 :代表與由鍵盤輸入 [ctrl]-c 同樣的動作; -9 :立刻強制移除一個工作; -15:以正常的程式方式終止一項工作。與 -9 是不一樣的。kill 後面接的數字預設會是 PID ,如果想要管理 bash 的工作控制,就得要加上 %數字 了, 這點也得特別留意才行喔!8、離線運行,即放到系統背景中[root@www ~]# nohup [指令與參數] <==在終端機前景中工作[root@www ~]# nohup [指令與參數] & <==在終端機背景中工作直接輸nohup可查詢目前在執行的