溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Linux/Unix下Bash和KSH shell的作業控制方法有哪些

發布時間:2021-12-04 15:27:03 來源:億速云 閱讀:217 作者:iii 欄目:系統運維

這篇文章主要介紹“Linux/Unix下Bash和KSH shell的作業控制方法有哪些”,在日常操作中,相信很多人在Linux/Unix下Bash和KSH shell的作業控制方法有哪些問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”Linux/Unix下Bash和KSH shell的作業控制方法有哪些”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

什么是作業控制?

作業控制不只是能夠停止/掛起(stop/suspend)正在執行的進程(命令),也可以繼續/喚醒(continue/resume)執行你需要的每一個進程。這完全可以用你的操作系統和 bash/ksh 之類的 shell 或 POSIX shell 完成。

誰給作業控制的提供了環境?

Bash / Korn shell,或者是 POSIX shell 提供給了作業控制的環境。

跟作業表打個招呼吧

你的 shell 會留有一張當前作業的表單,稱為作業表。當你鍵入命令時,shell 會給它分配一個 jobID(也稱作 JOBSPEC)。一個 jobID 或 JOBSPEC只是很小的整數數值。

#1: 創建你的*** Linux/Unix 作業

我要運行一個名為 xeyes 的命令,它會在屏幕上顯示兩個橢圓的眼睛,輸入: $ xeyes &

輸出樣例:

Linux/Unix下Bash和KSH shell的作業控制方法有哪些

Fig.01: 在后臺運行 xeyes 命令

我使用&符號讓一個 job 在后臺運行。shell 會打印一行信息類似如下:

[1] 6891

在這個例子中,有兩個數字輸出,分別表示:

  • 1 : 在后臺執行的 xeyes 任務的作業號為 1。

  • 6891 : 作業1的進程ID。

我在多執行一些 job:

## 啟動一個文本編輯器,X 的系統負載顯示,和 sleep 命令 ## gedit /tmp/hello.c & xload & sleep 100000 &

#2: 列出當前的作業

要查看當前 shell 的激活的任務狀態,輸入:

$ jobs $ jobs -l

輸出如下:

[1]   9379 Running                 xeyes & [2]   9380 Running                 gedit /tmp/hello.c & [3]-  9420 Running                 xload & [4]+  9421 Running                 sleep 100000 &

簡要描述如下:

Linux/Unix下Bash和KSH shell的作業控制方法有哪些

你也可以用 ps 命名列出當前系統正在運行的進程:

$ ps

#3: 停止或掛起正在運行的作業

按下[Ctrl]-[Z]鍵或使用kill 命令,如下所示:

kill -s stop PID

舉個例子,啟動ping 命令,然后用 Ctrl-Z 鍵來停止 ping 命令作業:

Linux/Unix下Bash和KSH shell的作業控制方法有哪些

Animated gif 01: 掛起 ping 命令作業

到此,關于“Linux/Unix下Bash和KSH shell的作業控制方法有哪些”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女