一、進程的類型
???????? 能夠?qū)?zhí)行在Linux系統(tǒng)中的進程分為三種不同的類型:
?????????????????? 交互進程:由一個Shell啟動的進程。交互進程既能夠在前臺執(zhí)行,也能夠在后臺?? 執(zhí)行。
?????????????????? 批處理進程:不與特定的終端相關(guān)聯(lián),提交到等待隊列中順序執(zhí)行的進程。 守護進程:在Linux在啟動時初始化,須要時執(zhí)行于后臺的進程。
二、進程的啟動方式
???????? 手工啟動
?????????????????? 前臺啟動:是手工啟動一個進程的最經(jīng)常使用的方式。一般地,用戶鍵入一個命令“l(fā)s? -l”,這就已經(jīng)啟動了一個進程,并且是一個前臺的進程。
?????????????????? 后臺啟動:直接從后臺手工啟動一個進程用得比較少一些,除非是該進程甚為耗時, 且用戶也不急著須要結(jié)果的時候。
???????? ???????? ls –R / >list &
???????? ???????? 調(diào)度啟動
???????? 調(diào)度啟動方式是事先進行設(shè)置,依據(jù)用戶要求讓系統(tǒng)自行啟動
三、查看系統(tǒng)中的進程
???????? 1、ps命令
???????? 功能:ps命令是用來顯示系統(tǒng)瞬間的進程信息,它能夠顯示出在用戶輸入ps命令時系統(tǒng)的進程及進程的相關(guān)信息。
?????????????????? ? 格式:ps [選項]
?????????????????? [root@hostpp]$ ps????????? 顯示本賬號的進程
?????????????????? [root@hostpp]$ ps –aux?? 查看系統(tǒng)和每位用戶所有進程
?????????????????? 因為ps –aux會列出系統(tǒng)中正在執(zhí)行的全部進程,因此不易找到特定的進程。若搭 配grep命令,則可事半功倍:[root@host pp]$ ps –aux|grep pp??查找pp的進程
???????? Ps命令使用說明:
?????????????????? 經(jīng)常使用參數(shù):
????????????????????????????????????? a:顯示全部進程
????????????????????????????????????? u:顯示較具體的信息
????????????????????????????????????? x:顯示全部包括其他使用者的進程。
?????????????????? 使用范例:
?????????????????????????????????? ps
?????????????????????????????????? ps –au
?????????????????????????????????? ps -aux
?????????????????????????????????? ps –aux | more
????????????????????????????????? ps –aux | grephttpd
????????????????????????????????? ps –aux >/tmp/ps.log
???????? 2、Top命令監(jiān)視系統(tǒng)資源使用情況
???????? ???????? 每5秒鐘刷新一次,動態(tài)顯示
?????????????????? 按下U鍵:輸入username 查看用戶進程
?????????????????? 按下K鍵:輸入PID 刪除進程
四、控制系統(tǒng)中的進程
???????? 1、kill命令和killall命令
???????? kill命令不但能殺死進程,同一時候也會殺死該進程的全部子進程。
???????? kill命令的格式是:kill –signalPID
???????? 為什么要殺死進程
???????????????????????? ?? 該進程占用了過多的CPU時間
?????????????????????????? 該進程鎖住了一個終端,使其它前臺進程無法執(zhí)行
?????????????????????????? 執(zhí)行時間過長,但沒有預(yù)期效果
?????????????????????????? 產(chǎn)生了過多到屏幕或磁盤文件的輸出
?????????????????????????? 無法正常退出
???????? ???????? 用戶也能夠用killall命令來殺死進程,在killall命令后面指定的是要殺死的進程的???? 命令名稱,而不是PID
???????? 范例:kill –9927??? 參數(shù)-9:強制殺死
???????? 2、nice命令
???????? ???????? nice
???????????????????????? 指定程序的執(zhí)行優(yōu)先級
??????????????????????? 格式:nice –n command
???????????????? ? ? ?? [root@hostroot]# nice - -5 myprogram&
? ??????????? ? ? ? ? ? 在后臺以-5的優(yōu)先級執(zhí)行myprogram
?? ?????????????????? 當中n是為進程執(zhí)行指定的優(yōu)先級,n的數(shù)值越大,進程的優(yōu)先級越低.n能夠取負? 值讓執(zhí)行級提高。
???????? 3、renice命令
?????????????????? renice
????????????????????? ? ? ? 改變一個正在執(zhí)行的進程的優(yōu)先級
??????????????????????????? 格式:renice –n pid 是被指定的進程
??????????????????????????? [root@hostroot]# renice - -5? 777
??????????????????????????? 將正在執(zhí)行的PID為777的進程優(yōu)先級改為-5
???????? 4、在后臺執(zhí)行程序的&、bg命令
???????? ???????? [root@host root]# cp –r /usr/* test&????????
???????? ???????? 將/usr文件夾下的全部子文件夾及文件拷貝到/root/test文件夾下的工作放到后臺執(zhí)行
???????? ???????? [root@host root]# fg??? 放到前臺并顯示運行過程
???????? ???????? 按下Ctrl+z鍵掛起該執(zhí)行程序
???????? ???????? [root@host root]# bg 再將運行過程放到后臺
???????? ???????? [root@host root]# jobs????? 查看被掛起的進程
???????? 5、進程的掛起和恢復(fù)
?????????????????? 進程的中止(掛起)和終止
????????????????? 掛起(Ctrl+Z)
?????????????????? 終止(Ctrl+C)
?????????????????? 進程的恢復(fù)
????????????????? 恢復(fù)到前臺繼續(xù)執(zhí)行(fg)
????????????????? 恢復(fù)到后臺繼續(xù)執(zhí)行(bg)
?????????????????? 查看被掛起的進程(jobs)
???????? 6、自己主動安排進程任務(wù)
???????? ???????? 自己主動啟動進程的幾個命令
???????????????? at 安排作業(yè)在某一時刻運行一次
??????????????? batch??? 安排作業(yè)在系統(tǒng)負載不重時運行一次
?????????????? 系統(tǒng)負載大于1.5不執(zhí)行。
????????????? cron????? 安排周期性執(zhí)行的作業(yè)
???????? 7、at和batch
?????????????????? at命令用來指定在某一時刻運行命令,at命令的格式是:at? [選項]? 時間
??????? ? ? ? ? ? at的配置文件
??????????? ? ? ? ? ? 作用:限制哪些用戶能夠使用at命令
????????????????????????? /etc/at.allow
????????????????????????? /etc/at.deny
?????????????????? batch命令的使用方法和at類似,僅僅是用戶能夠不必指定時間,batch會在系統(tǒng)負載小?? 于1.5的時候執(zhí)行命令。
???????? 8、應(yīng)用程序cron
???????? ???????? Cron進程搜索crontab文件并加載內(nèi)存 ( crontab文件即/etc/crontab文件和 /var/spool/cron/文件夾下以username命名的文件)
???????? ???????? cron進程啟動以后,它將首先檢查是否實用戶設(shè)置了crontab文件,假設(shè)沒有就轉(zhuǎn)? 入“休眠”狀態(tài),釋放系統(tǒng)資源
?????????????????? cron進程每分鐘醒來一次,查看crontab文件決定當前是否有須要運行的命令。命? 令運行結(jié)束后,不論什么輸出都將作為郵件發(fā)送給crontab的全部者
????????
?????????????????? crontab命令的作用及格式
?????????????????? 作用:用于生成cron進程所須要的crontab文件
??????????????????????????? crontab的命令格式
??????????????????????????? crontab[-u user] file
??????????????????????????? crontab[-u user] {-l|-r|-e}
???????????????????????? -l 該選項將使在標準輸出上顯示當前的crontab
???????????????????????? -r 刪除當前的crontab
?????????????????????? -e 使用編輯器編輯當前的crontab文件。
??????????????? 當結(jié)束編輯離開時,編輯后的文件將自己主動安裝
???????? Crontab文件格式:
?????????????????? Minute? Hour?Day? Month? DayofWeek?Command
????????????? 字段 ????????????? 所代表的意義 ???? ? 可用范圍
?????????????????? Minute??????? ???? 每小時的第幾分鐘執(zhí)行該程序 ?????? 0 ~ 59
?????????????????? Hour????????? ???? 每一天的第幾小時執(zhí)行該程序???? ?0 ~23
?????????????????? Day?????????? ??? 每一個月的第幾天執(zhí)行該程序??????? 1 ~?31
?????????????????? Month???????? ??? 每一年的第幾個月執(zhí)行該程序 ???????? 1 ~? 12
?????????????????? Dayof Week ? ???????? 每一周的第幾天執(zhí)行該程序 ? ???????? 0~ 6
?????????????????? Command?? ? ???????? 指定要執(zhí)行的程序 ???? ???? 輸入要執(zhí)行的命令及參數(shù)
??????????????????
???????? 范例:
?????????????????? 20 4 * * * program
????????????? 指定每天的4點20分運行program命令
?????????????????? 50 3 9 * * program
?????????????????? 指定每月的9日3點50分運行program命令
?????????????????? 1 0 8 9 * program 或
?????????????????? 1 0 8 sep * program
?????????????????? 指定每年的9月8日0點1分運行program命令
?
???????? 9、計劃任務(wù)創(chuàng)建方法
?????????????????? 假設(shè)須要在每周2、4、6凌晨3點使系統(tǒng)進入維護狀態(tài),又一次啟動系統(tǒng),設(shè)該文件 名為/root/reboot.cron:
???????? ???????? 1.創(chuàng)建一個crontab
???????? ???????? # echo “00 03 * * 2,4,6 shutdown –r +10”>/root/reboot.cron
?????????????????? 2.使用crontab命令安裝/root/reboot.cron文件
?????????????????? #crontab/root/reboot.cron??????? 安裝
?????????????????? [root@hostroot]# corntab –e
?????????????????? 創(chuàng)建root用戶的corn文件
?????????????????? 5514 * * * ls /root corn內(nèi)容
?????????????????? [pp@hostpp]$ crontab –e 創(chuàng)建pp用戶的corn文件
?????????????????? 3018 * * * ll /home/pp?????????? ????? corn內(nèi)容
?????????????????? [root@hostroot]# crontab –r? 刪除root的cron
?
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯(lián)系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
