天天看點

linux程序管理指令

程序管理類的指令:

pstree,ps,top,vmstat,htop,pmap

pstree:檢視程序樹

ps:顯示系統目前程序狀态的指令

程序:

跟終端相關的程序

跟終端無關的程序

a:所有跟終端相關的程序

ps a

x:所有跟終端無關的程序

ps x

STAT:

S:可中斷睡眠

D:不可中斷睡眠

R:運作或可運作

T:停止

Z:僵死

s:session leader

l:多線程程序

+:前台程序:

N:低優先級程序

<:高優先級程序

COMMAND:由哪個指令發起的程序

[]:核心線程

u:以使用者為中心顯示程序相關資訊

ps u

%CPU:cputime/realtime

%MEM:占用記憶體百分比

VSZ:Virtual memory Size 虛拟記憶體集,虛拟位址空間大小

RSS:實際記憶體,非可交換記憶體,常駐記憶體集

START:啟動時間

-ef:

ps -ef

-e:顯示所有程序

-f:完整格式清單

-eFH:

ps -eFH

-F:顯示額外資訊

-H:顯示程序層次關系

PSR:運作在哪個CPU上,CPU編号:0,1,2,3

-o 要顯示的字段:自定義顯示格式

ps -o pid,command

ps axo pid,command

pgrep pattern:

例:pgrep bash

選項;

-U USERNAME:顯示相關使用者的程序

-G GROUPNAME:顯示相關組的程序

pidof:找到某一個程序的ID号

top

M:按記憶體空間占用大小排序

P:按CPU使用大小排序

T:按累計時間排序

k:殺死一個程序

m:是否顯示記憶體摘要資訊

t:是否顯示CPU和程序的統計資訊

l:是否顯示負載資訊

q:退出

選項:

-d N:重新整理延遲

-b:批次顯示

-n N:指定批次顯示時顯示的批數

vmstat:

vmstat 1:每秒重新整理一次

procs

r:運作或等待CPU時間片的程序個數

b:被阻塞(通常為等待IO完成)的程序隊列的長度

memory

swpd:從實體記憶體交換至交換分區的資料量

free:從未使用的實體記憶體空間

buff:buffer cache的空間大小:通常是緩存寫操作相關的資料

cache:page cache的空間大小:通常是緩存讀操作相關的資料

swap:

si:swap in:資料進入交換分區中的資料量,即從記憶體至交換分區中去

so:swap out:資料離開交換分區中的資料量,即從交換分區子記憶體

io:

bi:block in:從塊裝置讀入的資料量(kb/s)

bo:block out:儲存至塊裝置的資料量(kb/s)

system:

in:interrupt:中斷發生的速率,通常為每秒多少次中斷請求發生

cs:context switch:上下文切換的速率

cpu:

us:使用者程序所占用CPU時間的百分比

sy:核心

id:CPU空閑百分比

wa:CPU用于等待IO完成的時間百分比

st:被虛拟化占去的時間百分比

sar 

-u:顯示CPU的控制資訊

-P:-P指定CPU

sar -P ALL:顯示所有CPU的控制資訊 sar -P 0:顯示0号CPU的控制資訊

iostat -c:顯示CPU的平均使用率

dstat -c:顯示CPU的資訊

dstat -C 0,3:顯示0号和3号CPU的資訊

程序間通信:IPC

共享記憶體,shm

信号:signal

信号:

1、SIGHUP,讓程序不用終止,而重讀其配置檔案

2、SIGINT,中斷正在運作的程序,相當于Ctrl+c

9、SIGKILL,殺死一個程序

15、SIGTERM,終止一個程序

19、SIGSTOP,停止一個程序

18、SIGCONT,繼續一個程序

向其它程序傳遞信号,使用kill

kill -信号 PID 每次程序啟用後PID會不一樣

kill -SIGKILL 2031或kill -9 2031

killall -信号 程序名

killall -SIGKILL gnome:殺死gnome相關的所有程序

killall5:殺死所有程序

kill -l:列出所有可以使用kill的信号

調整程序nice值:

普通使用者:調大數字,調低優先級

隻有管理者可以調小數字,調高優先級

-20,19

100,139

nice -n N COMMAND:調整程序的nice值調整為N 一個程序還沒有啟動,需要手動啟動它,隻需要指定nice,并指定其nice值為N,這樣這個指令就工作在這個nice值N下了

renice N PID:把PID為這個号碼的程序的nice值重新調整為其它nice值N

Linux作業控制:

前台:占用着終端:前台作業

背景:無須占用終端

jobs:檢視目前作業

前台-->背景:Ctrl+z 送到背景後不會運作

# vim /tmp/test.txt

hello world

Ctrl+z

背景-->前台:fg [[%]JOB_ID] []表示可省

bg [[%]JOB_ID]:讓其在背景運作

啟動時,讓作業直接運作于背景:

COMMAND &

nohup COMMAND & 使指令于終端無關,即終端關閉後指令還能運作

jobs 檢視

作業也可以被終止

kill %JOB_ID

axel -n 5 -o /mnt/Soft/down http://a.b.c.d/abc.iso & 在背景下載下傳

nohup axel -n 5 -o /mnt/Soft/down http://a.b.c.d/abc.iso & 終端關閉後還能下載下傳

screen:在一個終端上打開多個螢幕

screen

Ctrl A松開,再按D鍵:從目前screen螢幕離開,即其自己去背景運作

screen -ls:檢視有幾個screen在運作

screen -r SCREEN_ID:調出screen螢幕

screen -r 3700

exit:關閉screen