版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、第5章 UNIX進(jìn)程管理,單元目標(biāo),5.1.1 什么是進(jìn)程,進(jìn)程是一個(gè)程序針對(duì)一組數(shù)據(jù)的一次執(zhí)行 進(jìn)程是整個(gè)系統(tǒng)中資源分配的最小單位 進(jìn)程是系統(tǒng)調(diào)用的,系統(tǒng)處理機(jī)調(diào)度最小的單位 每個(gè)程序(命令)的運(yùn)行都會(huì)產(chǎn)生一個(gè)進(jìn)程 一個(gè)進(jìn)程環(huán)境包括下面幾個(gè)部分:,5.1.2 相關(guān)的基本概念,查看進(jìn)程 登錄進(jìn)程環(huán)境 進(jìn)程環(huán)境 父進(jìn)程與子進(jìn)程 進(jìn)程與變量,查看進(jìn)程,$變量顯示當(dāng)前Shell的PID $ echo $ 241864 ps命令查看用戶啟動(dòng)的進(jìn)程 $ ps u team01 UID PID TTY TIME CMD 200 241864 pts/0 0:00 ksh 200 258074 pts/0
2、0:00 ps 查看系統(tǒng)所有的進(jìn)程 $ ps -ef UID PID PPID C STIME TTY TIME CMD root 1 0 0 07:44:09 - 0:00 /etc/init root 53424 1 0 07:44:53 - 0:00 /usr/lib/errdemo .,login:,AIX System,PID=202 -ksh,login: john Johns Password: xxxxxx $ _ (ksh-login shell),登錄進(jìn)程環(huán)境,AIX System,$ cat kfile,執(zhí)行cat命令時(shí)的進(jìn)程環(huán)境,程序/usr/bin/cat UIDjo
3、hn GIDstaff 打開的文件/dev/tty1,kfile 父進(jìn)程 -ksh PID310 PPID202,PID=202 -ksh,PID=310 cat,進(jìn)程環(huán)境,$ echo $ 202 $ ksh (創(chuàng)建子shell) $ echo $ 206 $ date(運(yùn)行命令) Tue Jan 4 11:18:26 GMT 2000 $ (退出子shell) $ echo $ 202,Subshell,PID PPID -ksh 202 1 ksh 206 202 date 208 206,父進(jìn)程和子進(jìn)程,進(jìn)程與變量,變量是進(jìn)程環(huán)境的一部分 不同進(jìn)程間變量是不能互相訪問和修改的 子進(jìn)程要
4、想繼續(xù)父進(jìn)程的變量,必須用export命令將變量輸出成全局變量,進(jìn)程與變量示例一,示例中子KSH不能讀取和修改父進(jìn)程的變量,$ x=4 $ ksh $ echo $x $ x=1 $ $ echo $x 4,Subshell,進(jìn)程與變量示例二,示例中父進(jìn)程將x變量輸出成全局變量,所以子KSH可以讀取該變量,但修改變量對(duì)父Shell無效,變量,Shell,SubShell,export variable=value,課題互動(dòng): 輸出變量,5.2.1 什么是Shell腳本,簡單的文本文件,包含多條AIX的命令 可以用vi編輯或者任意一個(gè)AIX的編輯器編輯 當(dāng)shell腳本被執(zhí)行時(shí),shell每次讀
5、取文件的一行,按順序執(zhí)行腳本中的命令 用交互、流程控制和函數(shù)調(diào)用等方法將多個(gè)AIX命令編寫在一起構(gòu)成Shell腳本,可以完成復(fù)雜的系統(tǒng)管理的操作。,5.2.2 運(yùn)行Shell腳本,編輯Shell腳本 調(diào)用Shell腳本三種不同方式 用子shell中運(yùn)行 添加可執(zhí)行權(quán)限 在當(dāng)前Shell中運(yùn)行 命令的返回碼,編輯Shell腳本,通常用vi編輯Shell腳本,$ cat hello echo Hello, John. Today is: $(date)(1) pwd(2) ls(3) $ ksh hello Hello, John: Today is: Wed Sep 13 19:34(1) /h
6、ome/john(2) books letter1 text2sarah (3) $ _,SubShell,調(diào)用Shell腳本1:用子shell中運(yùn)行,調(diào)用Shell腳本2:添加可執(zhí)行權(quán)限,$ cat set_dir dir1=/tmp dir2=/usr $ . set_dir $ echo $dir1 /tmp $ echo $dir2 /usr,. (dot): 在當(dāng)前Shell中運(yùn)行,?,如何不用dot調(diào)用set_dir,dir1 和 dir2 的值是什么?,調(diào)用Shell腳本3:在當(dāng)前Shell中運(yùn)行,每個(gè)命令執(zhí)行完后,父進(jìn)程得到一個(gè)退出碼,返回命令執(zhí)行的狀態(tài): 0 = 執(zhí)行成功 1
7、 255= 執(zhí)行失敗 $?是預(yù)定義的Shell環(huán)境變量,儲(chǔ)存上一條命令的退出碼: $ cd /etc/security ksh: /etc/security: Permission denied $ echo $? 1 $ date $ echo $? 0,命令的返回碼,ksh,(等待),ls -R,$ ls -R / bigfile $,ksh,ls -R,$ ls -R / bigfile & $,5.3.1 前臺(tái)和后臺(tái)進(jìn)程,前臺(tái)進(jìn)程: 后臺(tái)進(jìn)程(&):,5.3.2 進(jìn)程管理,查看進(jìn)程狀態(tài) 終止進(jìn)程 kill 信號(hào) 作業(yè)控制 進(jìn)程的特殊運(yùn)行方式 daemon 進(jìn)程,查看進(jìn)程狀態(tài),ps命令可
8、以查看系統(tǒng)進(jìn)程的狀態(tài)信息 -f 選項(xiàng),詳細(xì)列出當(dāng)前用戶的進(jìn)程信息 $ ps -f UIDPIDPPID . TTY . COMMAND john 202 1 . tty0 . -ksh john 206202 . tty0 . ksh john 210206 . tty0 . ls -R / john 212206 . tty0 . ps -f,查看進(jìn)程狀態(tài)(2),-ef選項(xiàng),列出系統(tǒng)所有用戶進(jìn)程的詳細(xì)信息 # ps -ef UID PID PPID C STIME TTY TIME CMD root 1 0 0 14:15:56 - 0:00 /etc/init root 57428 131
9、140 0 14:17:23 - 0:00 /usr/sbin/rmcd root 77918 1 0 14:16:40 - 0:14 /usr/sbin/syncd 60 root 86106 90172 0 14:32:30 - 0:00 dtlogin root 90172 1 0 14:16:27 - 0:00 /usr/dt/bin/dtlog root 94282 1 0 14:16:40 - 0:00 /usr/lib/errdemon,查看進(jìn)程狀態(tài)(3),aux選項(xiàng),列出系統(tǒng)所有進(jìn)程更多的詳細(xì)信息 aTTY終端的所有進(jìn)程 x其他所有進(jìn)程 u 顯示進(jìn)程更多列的詳細(xì)信息 # ps
10、aux USER PID %CPU %MEM SZ RSS TTY STAT STIME TIME COMMAND root 8196 99.7 0.0 48 48 - A 14:15:28 0:06 wait root 40980 0.0 0.0 124 124 - A 14:15:28 0:26 gil root 77918 0.0 0.0 648 656 - A 14:16:40 0:14 /usr/sbin/syncd root 17621 0.0 0.0 192 192 - A 14:17:14 0:07 rpc.lockd root 0 0.0 0.0 68 68 - A 14:1
11、5:28 0:06 swapper,終止進(jìn)程,終止:通知程序正常結(jié)束 殺死:不通知程序直接終止或程序不響應(yīng)直接終止 (小心使用!),終止進(jìn)程(2),kill命令通過向進(jìn)程發(fā)送信號(hào)來終止進(jìn)程。 $ ps -f UID PID PPID . TTY . COMMAND john 202 1 . tty0 . -ksh john 204 202 . tty0 . db2_start john 206 202 . tty0 . find / $ kill 204(發(fā)送終止信號(hào)) $ kill -9 206 (發(fā)送殺死信號(hào)),Kill信號(hào),作業(yè)控制進(jìn)程運(yùn)行狀態(tài)的切換,fg,bg,kill用%job作為參
12、數(shù)來指定對(duì)某一作業(yè) 進(jìn)行操作,$ ls -R / out 2 errfile & 1273 $ jobs 1 +Running ls -R / out 2 errfile & $ $ fg %1 ls -R / out 2 errfile 1 + Stopped (SIGTSTP) ls -R / out 2 errfile & $ $ bg %1 $ jobs 1 + Running ls -R / out 2 errfile & $ $ kill %1 1 + Terminate ls -R / out 2 errfile &,后臺(tái)啟動(dòng)進(jìn)程(作業(yè)),查看所有作業(yè),把后臺(tái)作業(yè)切換到前臺(tái)運(yùn)行,
13、把前臺(tái)進(jìn)程放到后臺(tái)掛起,恢復(fù)后臺(tái)掛起的作業(yè)繼續(xù)在后臺(tái)運(yùn)行,終止進(jìn)程(作業(yè)),作業(yè)控制示例,進(jìn)程的特殊運(yùn)行方式,nohup命令將阻止因?yàn)橛脩糇N而導(dǎo)致進(jìn)程終止直到該進(jìn)程正常結(jié)束,此命令將忽視信號(hào)1和3 $ nohup ls -R / out 2 err.file & 1 59 $ 若用戶不重定向輸出,nohup將重定向輸出到nohup.out文件 $ nohup ls -R / & 161 Sending output to nohup.out $,daemon(守護(hù)進(jìn)程),daemon是一個(gè)永不結(jié)束的進(jìn)程,在系統(tǒng)啟動(dòng)時(shí)執(zhí)行,在系統(tǒng)結(jié)束時(shí)結(jié)束. daemon是管理和服務(wù)進(jìn)程,用來控制系統(tǒng)資源,提
14、供相關(guān)服務(wù),是系統(tǒng)默認(rèn)啟動(dòng)的進(jìn)程。例如qdaemon進(jìn)程,它為系統(tǒng)提供打印隊(duì)列的管理和服務(wù). 中斷系統(tǒng)的daemon,將停止系統(tǒng)的相關(guān)服務(wù) 常見的daemon有: cronmountd inetdqdaemon rloginderrdemon,習(xí)題,1、什么是進(jìn)程? 2、進(jìn)程的環(huán)境包括哪些部分? 3、什么時(shí)候需要使用dot符號(hào)執(zhí)行shell腳本? 4、如何傳遞變量值到子shell? 5、執(zhí)行下列步驟后,x的值是多少? ( . login shell . ) $ ksh $ x=50 $ export x $ ,習(xí)題(2),6、如何顯示用戶正在運(yùn)行的進(jìn)程的詳細(xì)信息? 7、普通用戶只能kill自己
15、的作業(yè)不能kill其他用戶的作業(yè)(T/F)? 8、如何強(qiáng)制中斷一個(gè)進(jìn)程的執(zhí)行? 9、為什么一個(gè)需要運(yùn)行很長時(shí)間作業(yè)最好用nohup命令在后臺(tái)執(zhí)行? 10、UNIX系統(tǒng)中永不結(jié)束的系統(tǒng)進(jìn)程叫什么?,實(shí)驗(yàn):進(jìn)程管理,單元小結(jié),To monitor processes use the ps command. Background processes are invoked by including an ampersand & at the end of the command. Use the kill command to terminate processes. Some useful signals that terminate processes are kill -2, kill -3, and kill -9. Jobs can be controlled in the Korn shell by suspending a job with and restarted using the
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 旅游業(yè)評(píng)級(jí)財(cái)務(wù)制度
- 白酒出入庫管理財(cái)務(wù)制度
- 非盈利財(cái)務(wù)制度管理
- 怎樣制作財(cái)務(wù)制度
- 商品財(cái)務(wù)制度
- 農(nóng)貿(mào)市場管理員排班制度
- 內(nèi)部協(xié)議簽訂制度
- 公司提成制度
- 養(yǎng)老院老人健康數(shù)據(jù)統(tǒng)計(jì)分析制度
- 養(yǎng)老院環(huán)境衛(wèi)生制度
- 城市軌道交通服務(wù)與管理崗位面試技巧
- GB/T 46607.1-2025塑料熱固性粉末模塑料(PMCs)試樣的制備第1部分:一般原理及多用途試樣的制備
- 紫金礦業(yè)招聘面試題及答案
- 《允許一切發(fā)生》讀書感悟
- 續(xù)保團(tuán)購會(huì)活動(dòng)方案
- 產(chǎn)品設(shè)計(jì)需求與評(píng)審表
- 北京市通州區(qū)2024-2025學(xué)年七年級(jí)下學(xué)期期末道德與法治試題(含答案)
- 地質(zhì)年代學(xué)-洞察及研究
- 2025至2030狂犬病疫苗行業(yè)發(fā)展研究與產(chǎn)業(yè)戰(zhàn)略規(guī)劃分析評(píng)估報(bào)告
- 基礎(chǔ)生命支持圖解課件
- 企業(yè)財(cái)務(wù)稅務(wù)合規(guī)管理手冊(cè)
評(píng)論
0/150
提交評(píng)論