項(xiàng)目8 進(jìn)程與服務(wù)管理_第1頁
項(xiàng)目8 進(jìn)程與服務(wù)管理_第2頁
項(xiàng)目8 進(jìn)程與服務(wù)管理_第3頁
項(xiàng)目8 進(jìn)程與服務(wù)管理_第4頁
項(xiàng)目8 進(jìn)程與服務(wù)管理_第5頁
已閱讀5頁,還剩40頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

項(xiàng)目8進(jìn)程與服務(wù)管理任務(wù)1進(jìn)程管理和任務(wù)調(diào)度進(jìn)程基本概念12進(jìn)程監(jiān)控和管理3進(jìn)程與文件權(quán)限4任務(wù)調(diào)度管理1進(jìn)程基本概念1進(jìn)程基本概念進(jìn)程存儲在內(nèi)部存儲設(shè)備(內(nèi)存),而程序存儲在外部存儲設(shè)備(如硬盤等)進(jìn)程在內(nèi)存中對應(yīng)一個進(jìn)程控制塊(ProcessControlBlock,PCB)每個進(jìn)程都有一個進(jìn)程號(ProcessID,PID)進(jìn)程是動態(tài)的,程序是靜態(tài)的程序是代碼和數(shù)據(jù)的集合,是經(jīng)過編譯后形成的可執(zhí)行二進(jìn)制文件程序在內(nèi)存中運(yùn)行產(chǎn)生進(jìn)程。一個程序可以產(chǎn)生多個進(jìn)程進(jìn)程具有多個狀態(tài),如就緒、運(yùn)行、等待、掛起等進(jìn)程是臨時的,程序是持久的程序文件一旦生成就一直存儲在磁盤中,除非手動刪除進(jìn)程只有在程序運(yùn)行時才會產(chǎn)生。進(jìn)程可能正常結(jié)束或異常退出進(jìn)程與程序1進(jìn)程基本概念每個進(jìn)程都有一個進(jìn)程號(ProcessID,PID)除了PID為1的systemd進(jìn)程以,其他進(jìn)程都是由父進(jìn)程創(chuàng)建的一個父進(jìn)程可以創(chuàng)建多個子進(jìn)程一般來說,當(dāng)父進(jìn)程終止時,子進(jìn)程也隨之終止,反之則不然父進(jìn)程可以向子進(jìn)程發(fā)送特定的信號對子進(jìn)程進(jìn)行管理如果父進(jìn)程不能成功終止子進(jìn)程,或者子進(jìn)程因?yàn)槟承┊惓G闆r無法自行終止,就會產(chǎn)生“僵尸”進(jìn)程父進(jìn)程與子進(jìn)程1進(jìn)程基本概念創(chuàng)建狀態(tài)。操作系統(tǒng)為進(jìn)程申請一個空白PCB并寫入相關(guān)信息創(chuàng)建->就緒。進(jìn)程資源需求可以滿足進(jìn)入就緒隊列就緒->運(yùn)行。選擇一個進(jìn)程并分配CPU時間片運(yùn)行->終止。進(jìn)程正常或異常終止運(yùn)行->阻塞。等待某些事件才能繼續(xù)運(yùn)行阻塞->就緒。等待事件發(fā)生時會重新進(jìn)入就緒狀態(tài)運(yùn)行->就緒。CPU時間片用完或被其他進(jìn)程搶占退出狀態(tài)。釋放資源進(jìn)程狀態(tài)2進(jìn)程監(jiān)控與管理2進(jìn)程監(jiān)控與管理功能:查看系統(tǒng)中當(dāng)前有哪些進(jìn)程,選項(xiàng)非常多只能顯示系統(tǒng)進(jìn)程的靜態(tài)信息ps命令[zys@centos8~]$psaux //注意,選項(xiàng)前可以不使用“-”USER PID %CPU %MEM VSZRSSTTYSTATSTART TIME COMMANDroot 2 0.0 0.0 00 ? S10:300:00 [kthreadd]root 3 0.0 0.0 00 ? I<10:300:00 [rcu_gp]root 4 0.0 0.0 00 ? I<10:300:00 [rcu_par_gp]2進(jìn)程監(jiān)控與管理功能:查看進(jìn)程間的相關(guān)性和依賴關(guān)系pstree命令[zys@centos8~]$pstree-pu|moresystemd(1)-+-ModemManager(887)-+-{ModemManager}(915)| `-{ModemManager}(958)|-NetworkManager(1094)-+-{NetworkManager}(1105)| `-{NetworkManager}(1106)|-VGAuthService(888)|-accounts-daemon(971)-+-{accounts-daemon}(975)| `-{accounts-daemon}(977)2進(jìn)程監(jiān)控與管理功能:查看進(jìn)程信息的動態(tài)變化,默認(rèn)每3秒刷新一次進(jìn)程信息顯示系統(tǒng)硬件資源的占用情況等有助于系統(tǒng)管理員監(jiān)控系統(tǒng)運(yùn)行狀態(tài)或分析系統(tǒng)故障top命令[zys@centos8~]$top-d10top-11:23:45up53min,2users,loadaverage:0.00,0.03,0.09Tasks:240total,3running,237sleeping,0stopped,0zombiePIDUSER PRNIVIRTRESSHR S%CPU%MEM TIME+COMMAND5842zys 200274830411800039396 S0.76.40:13.35 gnome-shell11root 200000 R0.10.00:00.31 rcu_sched2進(jìn)程監(jiān)控與管理功能:將命令放入Bash后臺運(yùn)行而不影響終端窗口在命令結(jié)尾輸入“&”符號即可通過“&”放入后臺的進(jìn)程仍然處于運(yùn)行狀態(tài)前后臺進(jìn)程切換-&[zys@centos8~]$find.-namefile1& //將find命令放入后臺運(yùn)行[1]7546 <==這一行顯示任務(wù)號和進(jìn)程號[zys@centos8~]$./file1 <==注意:這一行是find命令的輸出[1]+已完成find.-namefile1 <==這一行表示find命令在后臺運(yùn)行結(jié)束2進(jìn)程監(jiān)控與管理進(jìn)程在前臺運(yùn)行時按【Ctrl+Z】組合鍵,進(jìn)程會被放入后臺并被處于暫停狀態(tài)前后臺進(jìn)程切換-【Ctrl+Z】組合鍵[zys@centos8~]$find/-namefile1&>/dev/null //按Enter鍵后再按【Ctrl+Z】組合鍵^Z[1]+已停止find/-namefile1&>/dev/null[zys@centos8~]$bc //按Enter鍵后再按【Ctrl+Z】組合鍵^Z[2]+已停止bc2進(jìn)程監(jiān)控與管理功能:查看從終端窗口放入后臺的進(jìn)程“+”號表示最近放入后臺的命令“-”表示倒數(shù)第2個放入后臺的命令前后臺進(jìn)程切換-jobs命令[zys@centos8~]$jobs-l[1]-7556停止 find/-namefile1&>/dev/null <==倒數(shù)第2個放入后臺的進(jìn)程[2]+7562停止 bc <==最后一個放入后臺的進(jìn)程2進(jìn)程監(jiān)控與管理功能:使后臺暫停的進(jìn)程重新開始運(yùn)行命令后跟任務(wù)號前后臺進(jìn)程切換-bg命令[zys@centos8~]$bg1 //bg命令后跟任務(wù)號[zys@centos8~]$jobs-l[1]-7556運(yùn)行中 find/-namefile1&>/dev/null&[2]+7562停止 bc2進(jìn)程監(jiān)控與管理功能:把后臺的進(jìn)程恢復(fù)到前臺繼續(xù)運(yùn)行前后臺進(jìn)程切換-fg命令[zys@centos8~]$jobs-l[2]+7562停止bc[zys@centos8~]$fg2 //fg命令后跟任務(wù)號bc11+16 <==這一行是在bc交互環(huán)境中的輸入27 <==這一行是計算結(jié)果6*13 <==這一行是在bc交互環(huán)境中的輸入78 <==這一行是計算結(jié)果quit <==退出bc交互環(huán)境2進(jìn)程監(jiān)控與管理功能:設(shè)置進(jìn)程的優(yōu)先級每個進(jìn)程都有優(yōu)先級,優(yōu)先級越高表示進(jìn)程越有可能獲得CPU使用權(quán)優(yōu)先級用nice值表示,取值范圍是-20~19,默認(rèn)值為0,數(shù)字越大表示優(yōu)先級越低進(jìn)程管理-nice命令[zys@centos8~]$nice-11vimfile1&[1]7616[zys@centos8~]$ps-l-Cvim //查看進(jìn)程優(yōu)先級FSUIDPIDPPIDCPRINIADDRSZWCHANTTYTIMECMD0T10007616698409111-8504-pts/100:00:00vim[1]+已停止nice-11vimfile12進(jìn)程監(jiān)控與管理調(diào)整運(yùn)行中的進(jìn)程的優(yōu)先級普通用戶只能調(diào)整自己創(chuàng)建的進(jìn)程,而且只能把nice調(diào)整為更大的值root用戶可以調(diào)整所有人的進(jìn)程優(yōu)先級,而且可以調(diào)整為更小的值進(jìn)程管理-renice命令[zys@centos8~]$renice16-p7616 //普通用戶調(diào)整自己創(chuàng)建的進(jìn)程的優(yōu)先級7616(processID)舊優(yōu)先級為11,新優(yōu)先級為16[zys@centos8~]$ps-l-CvimFSUIDPIDPPIDCPRINIADDRSZWCHANTTYTIMECMD0T10007616698409616-8504-pts/100:00:00vim[zys@centos8~]$renice9-p7616renice:設(shè)置7616的優(yōu)先級失敗(processID):權(quán)限不夠 <==普通用戶只能修改為更大的值2進(jìn)程監(jiān)控與管理功能:通過內(nèi)核向進(jìn)程發(fā)送信號以執(zhí)行某些特殊的操作,如掛起進(jìn)程、正常退出進(jìn)程或強(qiáng)制終止進(jìn)程等終止進(jìn)程-kill命令[zys@centos8~]$ps-f-Cvim,bash,psUIDPIDPPIDC STIME TTY TIME CMDzys10341103340 08:31 pts/0 00:00:00 bashzy11:26 pts/1 00:00:00 vimfile1zy11:40 pts/0 00:00:00 ps-f-Cvim,bash,ps[zys@centos8~]$kill-913457 //結(jié)束PID為13457的進(jìn)程3進(jìn)程與文件權(quán)限3進(jìn)程與文件權(quán)限和普通文件類似,進(jìn)程也有所有者和屬組兩個屬性進(jìn)程的所有者就是創(chuàng)建進(jìn)程的用戶,也稱為執(zhí)行者進(jìn)程的屬組是執(zhí)行者所屬的用戶組。進(jìn)程對文件的操作權(quán)限按照以下規(guī)則確定如果進(jìn)程的所有者與文件的所有者相同,就為進(jìn)程賦予文件所有者的權(quán)限如果進(jìn)程的所有者屬于文件的屬組,就為進(jìn)程賦予文件屬組的權(quán)限為進(jìn)程賦予其他人的權(quán)限進(jìn)程的權(quán)限3進(jìn)程與文件權(quán)限普通用戶使用cat命令查看文件/etc/shadow進(jìn)程的權(quán)限[zys@centos8~]$whichcat/usr/bin/cat[zys@centos8~]$ls-l/usr/bin/cat/etc/shadow----------. 1rootroot18042月2511:00 /etc/shadow-rwxr-xr-x. 1rootroot385044月272020 /usr/bin/cat[zys@centos8~]$idzysuid=1000(zys)gid=1003(devteam)組=1003(devteam)[zys@centos8~]$cat/etc/shadowcat:/etc/shadow:權(quán)限不夠權(quán)限不夠!3進(jìn)程與文件權(quán)限普通用戶使用passwd命令修改密碼進(jìn)程的權(quán)限[zys@centos8~]$whichpasswd/usr/bin/passwd[zys@centos8~]$ls-l/usr/bin/passwd/etc/passwd-rw-r--r--.1rootroot28252月2813:15/etc/passwd-rwsr-xr-x.1rootroot336004月72020/usr/bin/passwd操作成功!3進(jìn)程與文件權(quán)限SetUID(簡稱為SUID):在所有者的執(zhí)行權(quán)限位置上出現(xiàn)了之前從未講過的s標(biāo)志只能對二進(jìn)制程序文件設(shè)置SUID權(quán)限,對Shell腳本文件和目錄不起作用執(zhí)行設(shè)置了SUID權(quán)限的程序文件時,進(jìn)程的所有者變?yōu)樵绦蛭募乃姓撸皇菆?zhí)行程序的用戶,也可以理解為執(zhí)行者繼承了文件所有者的權(quán)限前提是用戶對該程序文件具有執(zhí)行權(quán)限文件特殊權(quán)限-SUID3進(jìn)程與文件權(quán)限文件特殊權(quán)限-設(shè)置SUID[zys@centos8~]$su-root[root@centos8~]#ls-l/usr/bin/cat-rwxr-xr-x.1rootroot385044月272020/usr/bin/cat[root@centos8~]#chmod4755/usr/bin/cat //為cat命令設(shè)置SUID權(quán)限[root@centos8~]#ls-l/usr/bin/cat-rwsr-xr-x.1rootroot385044月272020/usr/bin/cat[root@centos8~]#exit[zys@centos8~]$cat-n/etc/shadow //現(xiàn)在可以訪問文件/etc/shadow1 root:$6$h3J7E45ujX.3wfi8z.:19775:0:99999:7:::2 bin:*:18397:0:99999:7:::[zys@centos8~]$su-root[root@centos8~]#chmod0755/usr/bin/cat //刪除cat命令的SUID權(quán)限[root@centos8~]#ls-l/usr/bin/cat-rwxr-xr-x.1rootroot385044月272020/usr/bin/cat3進(jìn)程與文件權(quán)限SetGID(簡稱為SGID):出現(xiàn)在文件屬組的執(zhí)行權(quán)限位置上的s標(biāo)志可以對二進(jìn)制程序文件和目錄設(shè)置SGID權(quán)限對二進(jìn)制程序文件設(shè)置SGID權(quán)限時,進(jìn)程將擁有文件屬組的權(quán)限,即繼承了文件屬組的權(quán)限SGID權(quán)限對二進(jìn)制程序文件生效的前提是執(zhí)行者對該文件具有執(zhí)行權(quán)限對目錄設(shè)置SGID權(quán)限時,用戶進(jìn)入該目錄后有效用戶組變?yōu)樵撃夸浀膶俳MSGID權(quán)限對目錄生效的前提是用戶對該目錄具有執(zhí)行和寫權(quán)限用戶在具有SGID權(quán)限的目錄中新建的目錄會自動繼承SGID權(quán)限文件特殊權(quán)限-SGID3進(jìn)程與文件權(quán)限文件特殊權(quán)限-設(shè)置SGID[zys@centos8~]$cd/tmp[zys@centos8tmp]$mkdirsgid_testdir[zys@centos8tmp]$chmod2777sgid_testdir //為目錄設(shè)置SGID權(quán)限[zys@centos8tmp]$ls-ldsgid_testdirdrwxrwsrwx.2zyszys62月2813:39sgid_testdir[zys@centos8tmp]$su-shaw[shaw@centos8~]$idshawuid=1238(shaw)gid=1001(shaw)組=1001(shaw)[shaw@centos8~]$cd/tmp/sgid_testdir[shaw@centos8sgid_testdir]$touchfile1[shaw@centos8sgid_testdir]$mkdirdir1[shaw@centos8sgid_testdir]$ls-ldrwxrwsr-x.2shawzys62月2813:42dir1 //繼承SGID權(quán)限-rw-rw-r--.1shawzys02月2813:42file1 //繼承屬組3進(jìn)程與文件權(quán)限StickyBit(簡稱為SBIT或粘滯位):出現(xiàn)在目錄的其他人的執(zhí)行權(quán)限位置上的t標(biāo)志只能對目錄設(shè)置SBIT權(quán)限用戶在目錄中新建的文件和目錄,只有該用戶本身和root用戶能夠刪除SBIT權(quán)限生效的前提是用戶對目錄具有執(zhí)行和寫權(quán)限文件特殊權(quán)限-SBIT3進(jìn)程與文件權(quán)限文件特殊權(quán)限-設(shè)置SBIT[zys@centos8tmp]$ls-ld/tmpdrwxrwxrwt.36rootroot40962月2813:46/tmp[zys@centos8tmp]$touchsbit_testfile[zys@centos8tmp]$mkdirsbit_testdir[zys@centos8tmp]$ls-ldsbit*drwxrwxr-x.2zyszys62月2813:46sbit_testdir //沒有繼承SBIT權(quán)限-rw-rw-r--.1zyszys02月2813:46sbit_testfile[zys@centos8tmp]$su-shaw[shaw@centos8~]$rm/tmp/sbit_testfile

rm:是否刪除有寫保護(hù)的普通空文件'/tmp/sbit_testfile'?yrm:無法刪除'/tmp/sbit_testfile':不允許的操作 <==無法刪除文件4任務(wù)調(diào)度管理4任務(wù)調(diào)度管理功能:設(shè)置需要周期執(zhí)行的任務(wù)crontab-命令格式crontab[-uuname]|-e|-l|-r4任務(wù)調(diào)度管理crontab-示例[zys@centos8~]$crontab-e*/3****echo“timeis`date`”>>/tmp/cron_test<==輸入該行內(nèi)容后保存設(shè)置并退出[zys@centos8~]$crontab-l //查看當(dāng)前crontab周期任務(wù)*/3****echo“timeis`date`”>>/tmp/cron_test[zys@centos8~]$tail-f/tmp/cron_test //觀察文件/tmp/cron_test的實(shí)時變化

“timeis2024年2月04日星期日06:15:01CST”“timeis2024年2月04日星期日06:18:01CST”“timeis2024年2月04日星期日06:21:01CST”4任務(wù)調(diào)度管理功能:設(shè)置在指定的時間執(zhí)行某個一次性任務(wù)time參數(shù)是計劃任務(wù)的執(zhí)行時間,可以采用下列時間格式的任何一種HH:MM[am|pm][Month][Date][Year],如11:10amJan182024HH:MMYYYY-MM-DD,如11:102024-01-18MMDDYY、MM/DD/YY,指定日期,如011824、01/18/24特定時間:如now表示當(dāng)前時刻,noon代表12:00pmtime+n[minutes|hours|days|weeks],表示在某個時間點(diǎn)之后某一時刻執(zhí)行,如now+3hours表示當(dāng)前時刻的3小時后at-命令格式at[-l][-ffname][-djobnumber]time4任務(wù)調(diào)度管理at-示例[zys@centos8~]$atnow+3minutesat>echo"timeis`date`">>/tmp/at_test //這是要執(zhí)行的命令

at><EOT> //按【Ctrl+D】組合鍵退出job1atMonMar406:20:002024[zys@centos8~]$at-l

//查看at計劃任務(wù),相當(dāng)于atq命令1 MoMar406:20:002024azys[zys@centos8~]$tail-f/tmp/at_test //觀察文件/tmp/at_test的實(shí)時變化timeis2024年3月04日星期一06:20:00CST //只在指定時間執(zhí)行一次任務(wù)2進(jìn)程管理和任務(wù)調(diào)度系統(tǒng)啟動和初始化過程12systemctl管理工具1系統(tǒng)啟動和初始化過程1系統(tǒng)啟動和初始化過程系統(tǒng)啟動過程BIOS自檢。BIOS是開機(jī)后計算機(jī)主動執(zhí)行的第1個程序。BIOS從CMOS讀取計算機(jī)硬件設(shè)備的配置信息,檢查外圍硬件設(shè)備是否能夠正常工作啟動引導(dǎo)程序。BIOS根據(jù)啟動設(shè)備的順序查找用于啟動操作系統(tǒng)的驅(qū)動設(shè)備,并從中讀取啟動引導(dǎo)程序。完成啟動引導(dǎo)程序的讀取之后,啟動引導(dǎo)程序開始接管系統(tǒng)啟動的控制權(quán)加載操作系統(tǒng)內(nèi)核。啟動引導(dǎo)程序最主要的功能是加載操作系統(tǒng)內(nèi)核,并將系統(tǒng)啟動的控制權(quán)轉(zhuǎn)交給內(nèi)核操作系統(tǒng)初始化。系統(tǒng)初始化工具負(fù)責(zé)操作系統(tǒng)的初始化工作,準(zhǔn)備操作系統(tǒng)的運(yùn)行環(huán)境系統(tǒng)啟動工具-systemdsystemd是常駐內(nèi)存的守護(hù)進(jìn)程,PID為1,其他進(jìn)程都是systemd的直接或間接子進(jìn)程并行啟動系統(tǒng)服務(wù),即同時啟動多個互不依賴的系統(tǒng)服務(wù)支持按需響應(yīng)(on-demand)的服務(wù)啟動方式,當(dāng)有用戶使用這個服務(wù)時就啟動,使用完即可關(guān)閉,直到下次使用時再啟動把系統(tǒng)服務(wù)定義為一個服務(wù)單元(unit),每個單元都有對應(yīng)的單元配置文件,相當(dāng)于SysVinit里的服務(wù)腳本兼容SysVinit啟動腳本,仍然可以使用這些這些腳本啟動系統(tǒng)服務(wù)已經(jīng)成為各Linux發(fā)行版的系統(tǒng)初始化工具1系統(tǒng)啟動和初始化過程systemd基本概念-單元把系統(tǒng)運(yùn)行的各種服務(wù)和對象定義為一個單元單元有不同的類型,如服務(wù)、掛載點(diǎn)、定時器和快照等利用單元配置文件識別和配置單元,擴(kuò)展名代表單元的類型1系統(tǒng)啟動和初始化過程systemd基本概念-單元配置文件每個單元都有一個應(yīng)對的單元配置文件,主要保存在三個目錄中/usr/lib/systemd/system:保存每個服務(wù)的啟動腳本配置文件,類似于SysVinit里目錄/etc/init.d中的服務(wù)啟動腳本文件/run/systemd/system:保存系統(tǒng)執(zhí)行過程中產(chǎn)生的服務(wù)腳本,優(yōu)先級比目錄/usr/lib/systemd/system中的配置文件優(yōu)先級

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論