系統進程管理

ps 查看系統進程命令

啟動進程的方式:
    系統啟動過程中自動啟動:與終端無關的進程;
    用戶通過終端啟動:與終端相關的進程;

選項:    
    a:所有與終端相關的進程;
    x:所有與終端無關的進程;
    u:以用戶為中心阻止進程狀態信息顯示;
常用組合之一:aux
[root@centous1 zuoye]# ps auxUSER        PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root          1  0.0  0.1  19364  1536 ?        Ss   16:50   0:01 /sbin/init
root          2  0.0  0.0      0     0 ?        S    16:50   0:00 [kthreadd]
root          3  0.0  0.0      0     0 ?        S    16:50   0:00 [migration/0]
root          4  0.0  0.0      0     0 ?        S    16:50   0:00 [ksoftirqd/0]
root          5  0.0  0.0      0     0 ?        S    16:50   0:00 [stopper/0]
root          6  0.0  0.0      0     0 ?        S    16:50   0:00 [watchdog/0]
root          7  0.0  0.0      0     0 ?        S    16:50   0:00 [migration/1]
root          8  0.0  0.0      0     0 ?        S    16:50   0:00 [stopper/1]


VSZ:虛擬內存集;
RSS:Resident Size(常駐內存);
STAT:
    R:running
    S:interruptale sleeping(可中斷睡眠)
    D:uninterruptable sleeping(不可中斷睡眠)
    T:Stopped
    Z:zombie(僵尸進程)
    
    +:前臺進程
    l:多線程進程
    N:低優先級進程
    <:高優先級進程
    s:session leader(進程的最開頭進程)
    
    -e:顯示所有進程
    -f:顯示完整格式的進程信息
    
    常用組合之二 -ef:
    
    -F:顯示完整格式的進程信息;
        C:cpu utilization(cpu占用率)
        PSR:運行在哪顆CPU之上
    -H:以層級結構顯示進程的相關信息;
    
    常用組合之三:-eFH

pgrep,pkill,top命令:

根據進程名或其他屬性來查詢進程或發送信號

pgrep -t terminel : 與指定的終端相關進程
    -l:顯示程序名    -a:顯示完整格式的進程名;    -p pid:顯示此進程的子進程    也可以直接加字符串,查看包含字符串的進程
    
pidof命令:
    根據進程名,取其pid
    
top命令:
    -display linux process
[root@centous1 zuoye]# toptop - 22:02:39 up  5:12(運行時長),  1 user,  load average(平均負載): 0.07, 0.06, 0.01(隊列的長度不要超過CPU個數)
Tasks(任務): 129 total,   1 running, 128 sleeping,   0 stopped,   0 zombie(僵死)
Cpu(s):  0.0%us(用戶空間進程占據的百分比),  0.1%sy(內核占用),  0.0%ni(用于nice調整), 99.8%id(空閑),  0.0%wa(等待IO),  0.0%hi(硬件中斷),  0.1%si(軟件終中斷),  0.0%st(被虛擬化偷走的)
Mem:   1004348k total,   192132k used,   812216k free,    21320k buffers
Swap:   204796k total,        0k used,   204796k free,    85156k cached
uptime命令:顯示系統時間、運行時長及平均負載;
    過去一分鐘、五分鐘和十五分鐘的平均負載;
    等待運行的進程隊列的長度;

htop命令;

選項:
    -d num:指定延遲時間間隔;    -u UserName:僅顯示指定用戶的進程    -s COLUME: 以指定字段進行排序;子命令:
l:顯示選定的進程打開的文件列表
s:跟蹤選定的進程系統調用;
t:以層級關系顯示各進程狀態;
a:將選定的進程綁定至某指定的CPU核心;

vmstat查看虛擬內存的使用情況;

vmstat 2:以2秒為間隔,不斷刷新
vmstat 2 3 : 以2秒為間隔,刷新三次

procs:
    r:等待運行的進程的個數;CPU上等待運行的任務的隊列長度
    b:處于不可中斷睡眠態的進程個數;被阻塞的任務隊列的長度;
    swpd:交換內存使用總量;
    buffer:用于buffer的內存總量;
    cache: 用于cache的內存總量;
    
swap
    si:數據進入swap中的數據速率(kb/s)
    so:數據離開swap的速率(kb/s)
io
    bi:從塊設備讀入數據到系統的速度(kb/s)
    bo:保存數據至塊設備的速率(kb/s)
system
    in:interrupts,中斷速率;
    cs:context switch,上下文切換的速率;

dstat命令:

常用選項:
    
    -c 顯示CPU相關信息;    -d 顯示磁盤的相關信息        -D sda,sdb...    -g:顯示page的相關的速率數據;    -m:Memory的相關統計數據;    -n:Lnterface的相關統計數據;    -p:顯示process的相關統計數據;    -r:顯示io請求的相關統計數據;    -s:顯示swapped的相關統計數據;

glances命令

內部選項;
常用選項:
    -b:以Byte為單位顯示網上數據速率;    -d:關閉磁盤I/O模塊    -m:關閉mount模塊;    -n:關閉network模塊;    -t #:刷新時間間隔;    -1 :每個CPU的相關數據單獨顯示;    -o{HTML|CSV}:輸出格式;    -f /PATH/TO/SOMEDIR :設定輸出文件的位置C/S模式下運行glances命令:
    服務模式:
        glances -s -B IPADDR
        
        IPADDR:本機的某地址,用于監聽;
    客戶端模式:
        glances -c IPADDR
        ipADDR :是遠程服務器地址;

kill命令:

常用命令:    1)SIGHUP:無須關閉進程而讓其重讀配置文件;    2)SIGINT:終止正在進行的進程,相當于ctrl+c    9)SIGKILL:殺死運行中的進程    15)SIGTERM:終止運行中的進程;
    killall 可以把一個進程的全部進程關掉;

Liunx系統作業控制:

job:

前臺作業(foregroud):通過終端啟動,且啟動后會一直占據終端

后臺作業(backgroud):可以通過終端啟動,但啟動后即轉入后臺運行(釋放終端)

如何讓作業運行于后臺?

(1)運行中的作業

curl+z
注意:送往后臺后,作業轉為停止態

(2)尚未啟動的作業

#COMMAND &
注意:此類作業雖然被送往后臺,但其依然與終端相關(意思是如果終端終止,那么從終端開啟的后臺也會終止);如果希望把送往后臺的作業剝離與終端的關系:#nohup COMMEND &(轉為與終端無關的模式)

作業前邊有加減號的顯示,“+”的意思就是可以用fg命令后便不用接參數直接調回來?!啊?不如“+”優先級高

查看所有作業:

#jobs

可實現作業控制的常用命令:

#fg[[%]JOB_number]:把指定的作業調回前臺%可以省略

#bg[[%]JOB_number]:讓送往后臺的作業在后臺繼續運行 %可以省略

#kill[%JOB_number]:終止指定的作業%不能省略,因為省略了就成了進程ID號了不是作業號。

調整進程優先級: 可通過nice值調整的優先級范圍:100-139 進程啟動時,其nice值默認為0,其優先級是120;

nice命令; 以指定的nice值啟動并運行命令 nice[option][command]參數… -n 指定nice值 注意:僅管理員可調低nice值

renice命令(調整已經啟動的進程):

renlice -n -3 進程ID

查詢進程優先級 ps axo pid,comm,ni,priority | grep htop

本地電子郵件服務:

smtp:slmple mail transmission protocol 只能接收郵件
pop3:post Office procotol 用來接收郵件
imap4:Internet mail access procotol 用來接收郵件

mail命令:

mailx [-s 'SUBJECT'] username [@hostname](hostname如果是本地則不用寫)
郵件正文的生成:
(1)交互式輸入:單獨成行表示正文結束;curl+d提交即可;
(2)通過輸入重定向
(3)通過管道;

at命令

at [option]...TIME
    
    TIME:
        HH:MM:SS [YYY-mm-dd]
        noon(中午十二點),midnight(半夜十二點),teatime(下午茶時間下午四點)

常用選項:
    -l:查看任務隊列    -f /PATH/FROM/SOMEFEIL:從指定文件中讀取任務,不用交互式輸入了    -d:刪除(加上任務號)    -c:查看指定作業的具體內容    -q QUEUE:指明隊列;

注意:作業執行結果是以郵件發送給提交作業用戶;

向crond提交作業的方式不同于at,他需要使用專用的配置文件,此文件有固定格式,不建議直接使用文件編輯器來編輯此文件;要使用crontab命令;

cron任務分為兩類:
    系統cron任務:主要用于實現系統自身的維護;用戶cron任務:
    命令:crontab命令

系統cron的配置格式: SHELL=/bin/bash PATH=/sbin:/bin:/usr/sbin:/usr/bin MAILTO=root

(1)每一行定義一個周期性任務:    * * * * * :定義周期性時間
    user-name:運行任務的用戶身份
    command to be executed:任務
(2)此處的環境變量不同于用戶登錄后獲得的環境,因此,建議命令使用絕對路徑,或者自定義變量;
(3)執行結果郵件發送給MAILTO指定的用戶

用戶cron的配置格式: /var/spool/cron/USERNAME

SHELL=/bin/bash PATH=/sbin:/bin:/usr/sbin:/usr/bin MAILTO=root

(1)每行定義一個cron任務,共6個子彈;

(2)此處的環境變量不同于用戶登錄后的環境,因此,建議命令使用絕對路徑,或者自定義PATH環境變量;

(3)郵件發送給當前用戶;

時間表示法:

(1)特定值;
    給定時間點有效取值范圍內的值;
    注意:day of week和day of mouth不同時使用
(2)給定時間點上有效取值范圍的所有值;
*代表的含義:分鐘、小時、天、月、星期幾
示例:
(1)3 * * * *:每小時執行一次;每小時的第三分鐘;
(2)3 4 * * 5:每周執行一次;每周5的4點3分;
(3)5 6 7 * *:每月執行一次;每月的7號6點5分;
(4)7 8 9 10 *:每年執行一次;每年的10月9號8點7分;
(5)9 8 * *3,7:每周三和周日8點9分
(6)0 8,20 * * 3,7:沒周三和周日的8點和20點
(7)0 9-18 * * 1-5:周一到周五的9-18點
(8)*/5 * * * *:每5分鐘執行一次任務(指定時間點不能被步長整除時,其意義將不復存在最小時間單位為“分鐘”,想完成“秒”級人物,的需要利用腳本實現);

crontab命令:
    
    crontab -e:編輯任務;
    crontab -l:列出所有任務
    crontab -r:刪除所有任務;即刪除 /var/spool/cron/USERNAME文件
    crontab -u username:可以給別的用戶定義定時任務
注意:運行結果以郵件通知給用戶;如果拒絕接收郵件:
(1)COMMAND > /dev/null

注意:定義COMMEND時,如果命令需要用到%,需要對其轉義;但放置于單引號中的%不用轉義;

思考:某任務在指定的時間因關機未能執行,下次開機會不會執行?
不會
如果期望時間因故未能按時執行,下次開機后無論是否到了響應時間點都要執行一次,可用anacron實現;

traceroute 目標IP :可以顯示從源主機到目標主機所經過的網關;

原創文章,作者:forest,如若轉載,請注明出處:http://www.www58058.com/43726

(0)
forestforest
上一篇 2016-09-06
下一篇 2016-09-06

相關推薦

  • 馬哥教育網絡班19期第二周課程練習

    1、Linux上的文件管理類命令都有哪些,其常用的使用方法及其相關示例演示。 cd:切換目錄命令實例  cd [dirctory] 切換目錄  cd .. 返回上一級目錄  cd –  來回切換  cd ~  切換到家目…

    Linux干貨 2016-06-19
  • 馬哥教育網絡21期+第七周練習博客

    馬哥教育網絡21期+第七周練習博客 1、創建一個10G分區,并格式為ext4文件系統; 首先掛載一個新的硬盤使用fdisk /dev/sdb進入相應的磁盤空間劃分一個10G的磁盤空間; Command (m for help): n Command action    …

    Linux干貨 2016-08-22
  • 高級文件系統管理2

    邏輯卷管理器(LVM),允許對卷進行方便操作的抽象層,包括重新設定文件系統的大小。允許在多個物理設備間重新組織文件系統。其步驟大體如下:將設備指定為物理卷,用一個或者多個物理卷來創建一個卷組,物理卷你是用固定大小的物理區域(PE)來定義的,在物理卷上創建的邏輯卷是由物理區域組成,可以在邏輯卷上創建文件系統。 一、知識整理 1、LVM設備名:dm-#。 軟鏈接…

    Linux干貨 2016-09-13
  • 用戶及組概念和管理

    用戶和組概念 /etc/passwd文件字段含義 root:x:0:0:root:/root:/bin/bash 用戶名:登陸名,具有唯一性 密碼存放加密用戶的密碼,看到的是一個x,其實已經映射到/etc/shadow文件中 UID:用戶ID GID:組群ID 用戶名全稱:可以不設置 主目錄:用戶登陸系統中首先進入的目錄 登陸Shell:用戶使用shell類…

    Linux干貨 2016-11-04
  • 推薦-Nginx Rewrite的應用-根據訪問平臺做簡單跳轉

    Nginx Rewrite的應用-根據訪問平臺做簡單跳轉 Nginx Rewrite的應用-根據訪問平臺做簡單跳轉 Rewrite模塊簡介 Rewrite的配置 使用不同平臺進行測試 配置參數詳解 Rewrite模塊簡介    Rewrite最主要的作用就是對URL進行重寫,即重定向。舉個簡單的例子,我們用電腦打開淘寶顯示出的頁面與手機打開顯示出的頁面,或者…

    Linux干貨 2016-03-27
  • 文件管理初探(inode理解)及管道和IO重定向

    第一部分    文件管理初探   1、Linux系統上各主要目錄的簡介           /  根,所有文件的起點     ├── bin    存…

    Linux干貨 2016-07-29
欧美性久久久久