背景:
閱讀新聞
10個 Linux/Unix下 Bash 和 KSH shell 的作業(yè)控制實例
[日期:2014-03-13]
來源:Linux中國
作者:Linux
[字體:大 中 小]
Linux 和 Unix 屬于多任務的操作系統(tǒng),也就是說一個系統(tǒng)在同一時間段內(nèi)能運行多重任務(進程)。在這個新的博客系列,我將會列出相關(guān)的 Linux 和 Unix 作業(yè)(job)控制的命令,你可以通過這些命令在 Bash 或 Korn 還有 POSIX shell 下實現(xiàn)執(zhí)行多重任務。
什么是作業(yè)控制?
作業(yè)控制不只是能夠停止/掛起(stop/suspend)正在執(zhí)行的進程(命令),也可以繼續(xù)/喚醒(continue/resume)執(zhí)行你需要的每一個進程澈驼。這完全可以用你的操作系統(tǒng)和 bash/ksh 之類的 shell 或 POSIX shell 完成待牵。
誰給作業(yè)控制的提供了環(huán)境?
Bash / Korn shell,或者是 POSIX shell 提供給了作業(yè)控制的環(huán)境。
跟作業(yè)表打個招呼吧
你的 shell 會留有一張當前作業(yè)的表單,稱為作業(yè)表邑茄。當你鍵入命令時,shell 會給它分配一個 jobID(也稱作 JOBSPEC)簇秒。一個 jobID 或 JOBSPEC只是很小的整數(shù)數(shù)值溯泣。
#1: 創(chuàng)建你的首個 Linux/Unix 作業(yè)
我要運行一個名為 xeyes 的命令,它會在屏幕上顯示兩個橢圓的眼睛,輸入: $ xeyes &
輸出樣例:
Fig.01: 在后臺運行 xeyes 命令
我使用&符號讓一個 job 在后臺運行瞬女。shell 會打印一行信息類似如下:
[1]6891
在這個例子中,有兩個數(shù)字輸出,分別表示:
1 : 在后臺執(zhí)行的 xeyes 任務的作業(yè)號為 1窍帝。
6891 : 作業(yè)1的進程ID。
我在多執(zhí)行一些 job:
## 啟動一個文本編輯器,X 的系統(tǒng)負載顯示,和 sleep 命令 ##
gedit /tmp/hello.c &
xload &
sleep 100000&
#2: 列出當前的作業(yè)
要查看當前 shell 的激活的任務狀態(tài),輸入:
$ jobs
$ jobs -l
輸出如下:
[1]9379Running xeyes &
[2]9380Running gedit /tmp/hello.c &
[3]-9420Running xload &
[4]+9421Running sleep 100000&
簡要描述如下:
字段值描述示例
1
[1]
jobID 或 JOB_SPEC - 工作號要與fg, bg, wait, kill和其他shell命令一起使用诽偷。你必須在工作號前綴添加一個百分號:(%)坤学。
加號 (+) 標識著默認的或是現(xiàn)在的作業(yè)。
減號 (-) 標識著前一個作業(yè)报慕。
%1
fg %1
kill %2
2
9379
進程 ID - 系統(tǒng)自動為每個進程創(chuàng)建并分配地獨有的身份標志號拥峦。
kill 9379
3
Running
狀態(tài) - 關(guān)于作業(yè)的狀態(tài):
Running - 該 作業(yè)正在運行,還沒有被外部信號掛起。
Stopped - 該作業(yè)已經(jīng)被掛起卖子。
N/A
4
xeyes &
command - 由shell給出的命令。
script &
firefox url&
你也可以用 ps 命名列出當前系統(tǒng)正在運行的進程:
$ ps
#3: 停止或掛起正在運行的作業(yè)
按下[Ctrl]-[Z]鍵或使用kill 命令,如下所示:
kill -s stop PID
舉個例子,啟動ping 命令,然后用 Ctrl-Z 鍵來停止 ping 命令作業(yè):
Animated gif 01: 掛起 ping 命令作業(yè)
在 Fedora 20 安裝 Google Talk 插件
ls顯示文件大小時顯示單位
相關(guān)資訊
bash KSH shell
Bash簡明教程--變量 (今 21:58)
Linux入門學習:認識shell和bash (03月25日)
如何用 Bash 創(chuàng)建一個二進制發(fā)布包 (09/25/2015 08:42:19)
Bash的基本功能 (03月27日)
快來幫 Bash 投票新 LOGO 吧! (12/19/2015 20:55:48)
Bash 下如何逐行讀取一個文件 (09/02/2015 08:53:33)
本文評論
查看全部評論 (0)
表情:
姓名:
匿名
字數(shù)
同意評論聲明
評論聲明
尊重網(wǎng)上道德,遵守中華人民共和國的各項有關(guān)法律法規(guī)
承擔一切因您的行為而直接或間接導致的民事或刑事法律責任
本站管理人員有權(quán)保留或刪除其管轄留言中的任意內(nèi)容
本站有權(quán)在網(wǎng)站內(nèi)轉(zhuǎn)載或引用您的評論
參與本評論即表明您已經(jīng)閱讀并接受上述條款
最新資訊
Bash簡明教程--變量
Citrix Linux Virtual Delivery Agent本地
IBM Tivoli Lightweight Infrastructure目
PowerDNS Authoritative Server拒絕服務漏
Adobe Digital Editions釋放后重利用漏洞(
AlienVault USM/OSSIM跨站腳本漏洞(CVE-
OpenSSL statem/statem.c拒絕服務漏洞(CVE-
OpenSSL crypto/x509/x509_vfy.c拒絕服務漏
Apache Ranger create user 跨站腳本漏洞(
SQLite 臨時文件創(chuàng)建漏洞(CVE-2016-6153)