程序管理工具

2021-09-08 20:07:32 字數 4087 閱讀 8370

程序管理:

pstree作用是以程序樹的形式顯示程序

例如:pstree 8123 顯示程序名不顯示各個程序號

pstree -p 8123 顯示程序名稱及各級程序的程序號

ps作用是顯示當前所有執行程序的詳細資訊

例如:ps aux  顯示所有包含其他使用者的行程

ps -aux

選項:a :顯示包括所有終端中的程序

x :選項包括不鏈結終端的程序

u :選項顯示程序所有者的資訊

f :選項顯示程序樹,相當於--forest

k|--sort:對屬性排序,屬性前面加-表示倒序

o :屬性..選項顯示定製的資訊pid、cmd、%cup、%mem

l :顯示支援的屬性列表

輸出屬性介紹:

vsz:虛擬記憶體集,線性記憶體

rss:常駐記憶體集

stat:程序狀態

r:running

s: interruptable sleeping

d: uninterruptable sleeping

t: stopped

z: zombie

+: 前台程序

l: 多執行緒程序

l:記憶體分頁並帶鎖

n:低優先順序程序

<: 高優先順序程序

s: session leader,會話(子程序)發起者

ni: nice值

pri: priority 優先順序

psr: processor cpu編號

rtprio: 實時優先順序

例項:(1)查詢自己擁有的所有程序

ps -x

(2)顯示指定使用者名稱或者使用者id的程序

ps -fu apache

ps -fu  48

(3)顯示指定服務名,正在被那個終端使用

ps -c  bash

(4)檢視程序的pid,ppid,使用者名稱和命令

ps -eo pid,ppid,user,cmd

(5)查詢占用最多記憶體和cpu的程序

ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%mem | head 

ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%cpu | head

uptme顯示當前時間,系統已啟動的時間、當前上線人數、系統平均負載(1、5、10 分鐘的平均負載,一般不會超過1)

top命令:

p:以佔據的cpu百分比,%cpu

m:佔據記憶體百分比,%mem

t:累積佔據cpu時長,time+

首部資訊顯示:

uptime資訊:l命令

tasks及cpu資訊:t命令

cpu分別顯示:1 (數字)

memory資訊:m命令

退出命令:q

修改重新整理時間間隔:s

終止指定程序:k

儲存檔案:w

%cpu:us:使用者空間

sy:核心空間

ni:調整nice時間

id:空閒

wa:等待io時間

hi:硬中斷

si:軟中斷

st:虛擬機器偷走的時間

列屬性解釋:

pid — 程序id

user — 程序所有者

pr — 程序優先順序

ni — nice值。負值表示高優先順序,正值表示低優先順序

virt — 程序使用的虛擬記憶體總量

res — 程序使用的、未被換出的物理記憶體大小

shr — 共享記憶體大小,單位kb

s — 程序狀態。d=不可中斷的睡眠狀態 r=執行 s=睡眠 t=跟蹤/停止 z=殭屍程序

%cpu — 上次更新到現在的cpu時間占用百分比

%mem — 程序使用的物理記憶體百分比

time+ — 程序使用的cpu時間總計,單位1/100秒

command — 程序名稱(命令名/命令列)

free命令:檢視記憶體使用情況

free -h   已讀格式

vmstat 命令:顯示虛擬記憶體資訊

vmstat 2  5   每2秒重新整理一次,共5次

命令顯示列解釋:

procs列:

r:可執行(正執行或等待執行)程序的個數,和核心數有關

b:處於不可中斷睡眠態的程序個數(被阻塞的佇列的長度)

memory:

swpd: 交換記憶體的使用總量

free:空閒物理記憶體總量

buffer:用於buffer的記憶體總量

cache:用於cache的記憶體總量

swap:

si:從磁碟交換進記憶體的資料速率(kb/s)

so:從記憶體交換至磁碟的資料速率(kb/s)

io列bi:表示由塊裝置讀入資料的總量,即讀磁碟,單位kb/s

bo:表示寫到塊裝置資料的總量,即寫磁碟,單位kb/s

system:

in: interrupts 中斷速率,包括時鐘

cs: context switch 程序切換速率

iostat命令:統計cpu和磁碟裝置的io資訊 

iostat  1 5   每一秒更新一次、共5次

iftop 命令:顯示寬頻使用情況,需要自主安裝(epel源)

可通過此命令檢視當前是否有人在通過網路攻擊本主機

pmap命令:程序對應的記憶體對映

pmap  1  :跟程序號加 -x 更加詳細

dstat 工具:監視cpu、記憶體、swap、磁碟使用率

iotop命令:  用來監視磁碟i/o使用狀況    (顯示更加詳細 相對於 iostat)

第一行:read和write速率總計

第二行:實際的read和write速率

第三行:執行緒id(按p切換為程序id)、 優先順序、 使用者、

磁碟讀速率 、磁碟寫速率、 swap交換百分比 、

io等待所佔的百分比、 執行緒/程序命令

lsof命令:檢視當前系統檔案的工具

-a:列出開啟檔案存在的程序

-c《程序名》:列出指定程序所開啟的檔案

-g:列出gid號程序詳情

-d《檔案號》:列出占用該檔案號的程序

+d《目錄》:列出目錄下被開啟的檔案

+d《目錄》:遞迴列出目錄下被開啟的檔案

例:lsof  -c  bash  列出指定程式正在使用的檔案

lsof  /dev/pts1  檢視登入使用者啟動而非系統啟動的程序

lsof   -p  9999(pid) 檢視指定程序號的程序開啟的檔案

lsof  -u   user   檢視指定使用者開啟的檔案

kill命令:

常用訊號:man 7  signal  或者  kill  -l

1)sighup  無須關閉程序而讓其重讀配置檔案

2)sigint  中止正在執行的程序;相當於ctrl+c

3)sigquit 相當於ctrl+\

9) sigkill 強制殺死正在執行的程序

15)sigterm 終止正在執行的程序

18)sigcont 繼續執行

19)sigstop 後台休眠

kill  -s  signal  pid   傳送指定訊號到pid

killall命令:按服務名稱傳送資訊

killall [-signal]  服務名 

pkill命令:

-signal

-u uid: effective user,生效者

-u uid: real user,真正發起執行命令者

-t terminal: 與指定終端相關的程序

-l: 顯示程序名(pgrep可用)

-a: 顯示完整格式的程序名(pgrep可用)

守護程序管理工具

1.文字程序管理工具 ntsysv是乙個使用者管理自動執行的守護程序的文字使用者介面工具。2.命令列介面 cli 工具 可以使用chkconfig命令檢查,設定系統的各種服務。此命令實際上是通過操作 etc rc 0 6 d目錄下的符號鏈結檔案對系統的各種服務進行管理。chkconfig命令具有如下...

程序管理工具Supervisord

在 web 應用部署到線上後,需要保證應用一直處於執行狀態,在遇到程式異常 報錯等情況,導致 web 應用終止時,需要保證程式可以立刻重啟,繼續提供服務。所以,就需要乙個工具,時刻監控 web 應用的運 況,管理該程序。supervisor 就是解決這種需求的工具,可以保證程式崩潰後,重新把程式啟動...

Supervisor 程序管理工具

supervisor是乙個用 python 寫的程序管理工具,可以很方便的用來啟動 重啟 關閉程序 不僅僅是 python 程序 除了對單個程序的控制,還可以同時啟動 關閉多個程序,比如很不幸的伺服器出問題導致所有應用程式都被殺死,此時可以用 supervisor 同時啟動所有應用程式而不是乙個乙個...