Linux用戶管理(七)Linux 進程管理

  進程管理linux

一.進程的基本概念shell

1.進程的定義windows

是指程序關於某個數據集合的一次運行活動安全

2.Linux進程狀態ide

 

wKioL1nlxhjg49ciAAEW2dk4OQk912.jpg-wh_50

3.進程的類型spa

1)交互進程:由shell啓動,能夠工做在先後臺命令行

2)批處理進程:不須要與終端相關,提交在等待隊列的做業orm

3)守護進程:shell/linux系統自動啓動/用戶手工啓動,工做在後臺,用於監視特定服務blog

 4.進程啓動方法隊列

 (1)手工啓動

l 前臺:直接輸入程序名(如:#vi

l 後臺:程序名後加&(如:#vi&

  2)調度啓動

l 系統在指定時間運行指定的程序(at.batch.cron

二.進程管理的經常使用命令

1.ps

  功能:顯示系統的進程信息

格式:ps  [參數]

參數-a 顯示全部進程(不包括沒有終端的進程)

-u顯示用戶名和啓動時間

-x顯示沒有終端的進程

-e 顯示全部進程(不顯示進程狀態)

-f 全格式

 實例:# ps  顯示當前用戶進程

# ps –aux   顯示全部進程信息

 USER PID%cpu %mem  vsz  rss    tty  stat start  time command

   Root  10.0  .3   1096 476   ?   s    18:20  0:04    init

USER  進程的啓動用戶

PID:      進程號(進程的惟一標識)

CPU:   CPU的百分比

MEM:  佔用內存百分比

VSZ    虛擬內存大小

RSS    內存大小(真實)

TTY:  進程的工做終端(?表示沒有終端)

STAT:  進程的狀態(D: 不可中斷的靜止 
R:
正在執行中
S:
靜止狀態
T:
暫停執行
Z:
不存在但暫時沒法消除
W:
沒有足夠的記憶體分頁可分配
<:
高優先序的行程
N:
低優先序的行程
<: 高優先級別

Start  :啓動時間

  Time  :佔用的cpu的時間

Command : 運行的程序

2.top

功能:動態顯示系統進程信息

格式:#top  [參數]

參數:

d 指定每兩次屏幕信息刷新之間的時間間隔。固然用戶可使用s交互命令來改變之。

  q 該選項將使top沒有任何延遲的進行刷新。若是調用程序有超級用戶權限,那麼top將以儘量高的優先級運行。

  S 指定累計模式。

  s 使top命令在安全模式中運行。這將去除交互命令所帶來的潛在危險。

  i 使top不顯示任何閒置或者僵死進程。

  c 顯示整個命令行而不僅是顯示命令名

實例#top  (默認每5秒鐘刷新一次)

top的操做命令:

h/?: 獲取top的幫助

kPID:殺死指定的進程

q 退出top

空格:當即刷新

s:改變刷新間隔

3.kill

功能:給進程傳遞信號

格式kill [信號值] PID

信號值:-24/SIGSTOP:暫停某個進程

-18/SIGCONT:繼續暫停的進程

-1/SIGHUP:掛起一個進程

-15/SIGTERM:軟中斷,正常退出一個軟件

-9/SIGKILL:殺死一個進程

-20/SIGTSTP:鍵盤中止信號,ctrl+z

實例

        #kill  -9   3

# kill  -9  3,5,8  一次殺死多個程序

# kill  - 9  1-8   殺死1到8號進程

# kill  -9  0    表示全部後臺進程

4.killall

功能:給指定程序名的進程發送信息

格式#killall  程序名

實例#killall   -9  vsftpd(殺死全部對應vsftpd程序的進程)

5.設置進程優先級

優先級範圍:-20-19(值越小表示級別越高,默認爲0

(1)  nice(設置程序運行時優先級)

  格式#nice 優先級 命令

 實例# nice –5  ls

      #nice --5  vi

(2) renice

格式:#renice  優先級 PID

 

實例#renice   -6  727

      #renice   12  888

6.做業的先後臺操做

1jobs

功能:查看後臺做業

實例:# jobs

2fg

功能:把後臺的程序調入前臺運行

格式#fg   [做業編號]

實例#fg(隊首的做爲調入前臺運行,最後入隊列做業處於隊首)

      #fg 2(將隊列中的2號調入前臺運行)

3bg

功能:將後臺等待程序轉入後臺運行

格式bg  [做業編號]ctrl+z將前臺程序轉入後臺中止運行)

               ctrl+c將終止前臺程序的運行)

實例#bg  (將隊首的做業調入後臺運行,最後入隊列做業處於隊首)

#bg 3 (將3號做業調入後臺運行)

7.pstree

功能:顯示進程樹

格式:#pstree

三.任務的自動化

1.at

功能:安排系統在指定時間運行指定的做業,須要有atd服務的支持

格式#at   [參數]    時間

參數-m 指任務結束後會發送mail通知用戶

     -f 文件名:從指定文件中讀取執行的命令

     -g [a-z]:指定使用的隊列

    時間的表示方法:

            midnight   (當天午夜)

            noon      (當天中午)

            teatime   (當天下午4點)

            hh:mm   mm/dd/yy  (指定年月日,時分)

            now+n minutes (從如今起向後n分鐘)

            now+n days  (從如今起向後n天)

            now+nhours (從如今起向後n小時)

            now+n weeks (從如今起向後n周)

      實例:# at21:00 3/17/2004

>ls

>cd /etc

>init 0

ctrl+d(結束做業步)

at相關命令:

(1)      atq

功能:查詢at隊列中的做業

實例:#atq

(2)      atrm

功能:刪除at隊列中的做業

實例:#atrm  2

2.cron

  功能:安排系統在指定時間週期內執行做業

    原理cron進程,每隔一分鐘,檢查/var/spool/cron目錄下用戶提交的做業文件中有無做業須要運行(和windows系統計劃任務差很少)

配置1)創建crontab文件

    # vi  /root/root.cron

格式                     星期        要運行的程序

       0   12      1      1        *      /sbin/shutdown–r now

(數字表示具體時間,*表示任什麼時候間)

0   8—12    *      *        *        /sbin/tar –xzfvetc.tar.gz /etc/

8-12從某時間到某時間)

25  0-23/2    *      12       *          rm –f /tmp/*

0等同於**/n:N///月,0-23/2表示每隔2小時,即:0:25,2:25,4:25

30    *      *      1,3,5    *           dump   

135:多種可用「,」隔開)

2)運行crontab命令

功能:生成用戶的cron文件

格式:crontab [參數] [文件名]

參數:-u 用戶名:指定具體用戶的cron文件

      -r         刪除用戶的crontab文件

      -l          顯示用戶的cron文件

      -e          編輯用戶的cron文件

  實例# crontab /root/root.cron (創建當前標準格式用戶crontab文件)

      # crontab  –r  刪除當前用戶的cron文件

配置案例:root用戶在每週2,4,6早上3點啓重系統

  # vi /root.cron(以root用戶登陸)

 0   3   *  *   2,4,6   /sbin/shutdown   -r    now

   # crontab   /root.cron

注意:/etc/at.denyetc/at.allow用於控制用戶運行at的任務

相關文章
相關標籤/搜索