Linux進(jìn)程、作業(yè)管理及網(wǎng)絡(luò)配置

2016年9月6日09:27:41 1 4,386 ℃

內(nèi)核的功用:內(nèi)核管理、文件系統(tǒng)、網(wǎng)絡(luò)功能、內(nèi)存管理、內(nèi)存管理、驅(qū)動程序、安全功能

Process:運(yùn)行中的程序的一個(gè)副本:

存在生命周期

linux內(nèi)核存儲進(jìn)程信息的固定格式:task stract

多個(gè)任務(wù)的task struct組件的鏈表:task list

進(jìn)程創(chuàng)建:

init

父子關(guān)系

進(jìn)程:都由起父進(jìn)程創(chuàng)建

fork(), clone()

進(jìn)程優(yōu)先級:

0-139:

1-99實(shí)時(shí)優(yōu)先級

100-139:靜態(tài)優(yōu)先級

數(shù)字越小,優(yōu)先級越高:獲得更多的cpu運(yùn)行時(shí)間,更優(yōu)先獲得運(yùn)行的機(jī)會

Nice值:優(yōu)雅的,友好的

-20,19(100-139)

普通用戶只能提供自己進(jìn)程的nice值

Big O

O(1),O(logn), O(n) ,O(n^2) , O(2^n)

進(jìn)程內(nèi)存:

Page Frame :頁框,用存儲頁面數(shù)據(jù)

存儲page

MMU:memory Management Unit

IPC: Inter Process COmmunication

同一主機(jī)上:

signal

shm: shared memory

semerphor

不同主機(jī)上:

rpc: remote procecure call

socket:

Linux內(nèi)核:搶占式多任務(wù)

進(jìn)程類型:

守護(hù)進(jìn)程:daemon,在系統(tǒng)引導(dǎo)過程中啟動的進(jìn)程

前臺進(jìn)程:根終端相關(guān),通過終端啟動的進(jìn)程

注意:也可把在天天啟動的進(jìn)程送往后臺,以守護(hù)模式運(yùn)行

進(jìn)程狀態(tài):

運(yùn)行態(tài):running

就緒態(tài):ready

睡眠態(tài):sleep

可中斷:interrunptable

不可中斷:uninterruptable

停止態(tài):stopped

暫停于內(nèi)存中,但不會被調(diào)度,除非手動啟動之:

僵死態(tài):zombie

進(jìn)程的分類:

CPU-Bound

IO-Bound

Linux系統(tǒng)上的進(jìn)程查看及管理工具:pstree ps pidof  pgrep top htop glances pman vmastat dstat kill pkill job bg fg nohup nice renice killall

Centos 5: sysV init 

Centos 6: upstart

Centos 7: systemd

pstree命令:

pstree - display a tree of processes

ps命令:Process State

/proc/:內(nèi)核中的狀態(tài)信息;

內(nèi)核參數(shù):可設(shè)置其值從而調(diào)整內(nèi)核運(yùn)行特性參數(shù);

狀態(tài)變量:其用于輸出內(nèi)核中統(tǒng)計(jì)信息或狀態(tài)信息,僅用于查看

參數(shù):模擬成文件系統(tǒng)類型:

進(jìn)程:

/proc/#:

#:pid

ps - report a snapshot of the current processes.

ps [options]

選項(xiàng)有三種風(fēng)格:

1   UNIX options, which may be grouped and must be preceded by a dash.

2   BSD options, which may be grouped and must not be used with a dash.

3   GNU long options, which are preceded by two dashes.

啟動進(jìn)程的方式:

系統(tǒng)啟動過程中自動啟動,與終端無關(guān)的進(jìn)程。

用戶通過終端啟動:與終端相關(guān)的進(jìn)程。

選項(xiàng):

a:所有與終端相關(guān)進(jìn)程;

x:所有與終端無關(guān)的進(jìn)程;

u:以用戶為中心組織進(jìn)程狀態(tài)信息顯示

常用組合之一:aux

VSZ:虛擬內(nèi)存集

RSS:Resldent Size,常駐內(nèi)存集

STAT:

R:running 運(yùn)行或就緒

S:interruptable sleeping 可中斷的睡眠

D:uninterruptable sleeping 不可中斷的睡眠

T:stopped 停止

Z:zomble 僵死

+:前臺進(jìn)程

l:多線程進(jìn)程

N:低優(yōu)先級進(jìn)程

<:高優(yōu)先級進(jìn)程

s:sesslon leader 會話進(jìn)程首進(jìn)程

-e:顯示所有進(jìn)程

-f:顯示完整格式的進(jìn)程信息

常用組合之二:-ef

-F:顯示完整格式的進(jìn)程信息

C:cpu utilization cpu占用cpu%

PSR:運(yùn)行于哪顆cpu之上

-H:以層級結(jié)構(gòu)顯示進(jìn)程的相關(guān)信息

-l:

常用組合之三:-eFH

常用組合之四:

o field1,field2,....自定義要顯示的字段列表,以逗號分開

常用的field: pid ,ni ,pri ,psr ,pcpu, stat ,comm, tty ,ppid

ni: nice值

pri: priority,優(yōu)先級

rtprio: real time priority,實(shí)時(shí)優(yōu)先級

-eo

axo

pgrep, pkill命令:

- look up or signal processes based on name and other attributes

pgrep[options] pattern

-u uid: effective user

-U uid: read user

-t :TERMINAL: 與指定的終端相關(guān)的進(jìn)程

-l :顯示進(jìn)程名稱

-a :顯示完整格式的進(jìn)程名

-P pid: 顯示此進(jìn)程的子進(jìn)程

pidof命令:

根據(jù)進(jìn)程名,取其pid

top命令:

- display Linux tasks

排序:

P:以占據(jù)cpu百分比排序

M:以占據(jù)內(nèi)存百分比排序

T:累積占用cpu時(shí)間排序

首部信息:

uptime信息:l命令

tasks及cpu信息:t命令

內(nèi)存信息:m命令

退出命令:q

修改刷新時(shí)間間隔:s

終止指定的進(jìn)程:k

選項(xiàng):

-d #:指定刷新時(shí)間間隔,默認(rèn)3秒

-b: 以批次方式顯示

-n #:顯示多少批次

uptime命令:顯示系統(tǒng)時(shí)間,運(yùn)行時(shí)長,平均負(fù)載

過去1分鐘,5分鐘和15分鐘的平均負(fù)載

等待運(yùn)行的進(jìn)程隊(duì)列長度;

htop命令:

選項(xiàng):

-d #:指定延遲時(shí)間

-u UserName:僅顯示指定用戶的進(jìn)程

-s COLUME: 以指定字段進(jìn)行排序

子命令:

l: 顯示選定的進(jìn)程打開的文件列表

s: 跟蹤選定的進(jìn)程的系統(tǒng)調(diào)用

t: 以層級關(guān)系顯示各進(jìn)程狀態(tài)

a: 將選定的進(jìn)程綁定至某個(gè)cpu核心

vmast命令:

- Report virtual memory statistics

vmstat [options] [delay [ count]]

procs:

r: 等待運(yùn)行進(jìn)程的個(gè)數(shù);cpu上等待運(yùn)行的任務(wù)的隊(duì)列長度;

b: 處于不可中斷睡眠態(tài)的進(jìn)程個(gè)數(shù);被阻塞的任務(wù)隊(duì)列長度;

memory:

swpd:交換內(nèi)存使用總量;

free: 空閑的物理內(nèi)存總量;

buffer:用于緩沖的內(nèi)存總量

cache:用于緩存的內(nèi)存總量

swap:

si:數(shù)據(jù)進(jìn)入swap中的數(shù)據(jù)速率(kb/s)

so:數(shù)據(jù)離開swap的速率(kb/s)

io:

bi:從塊設(shè)備讀入數(shù)據(jù)到系統(tǒng)的速度(kb/s)

bo:保存數(shù)據(jù)至塊設(shè)備的速度()

system:

in:interrupts,中斷速率

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

cpu:

us :用戶進(jìn)程消耗的CPU時(shí)間百分比
sy :內(nèi)核進(jìn)程消耗CPU時(shí)間百分比
id :CPU處在空閑狀態(tài)的時(shí)間百分比

wa:IO等待所占的CPU時(shí)間百分比

st:虛擬機(jī)占用的時(shí)間百分比

選項(xiàng):

-s:顯示內(nèi)存統(tǒng)計(jì)數(shù)據(jù)

pmap命令:

- report memory map of a process(查看進(jìn)程的內(nèi)存映像信息

pmap [options] pid [... ]

-x :  extended 顯示詳細(xì)格式信息:

另一種查看方式:cat /proc/PID/maps

glances命令:

- A cross-platform curses-based monitoring tool

內(nèi)建命令:

常用選項(xiàng):

-b: 以byte為單位顯示網(wǎng)上數(shù)據(jù)速率

-d: 關(guān)閉磁盤I/O模塊

-m: 關(guān)閉mount模塊

-n: 關(guān)閉network模塊

-t #:刷新時(shí)間間隔

-1: 每個(gè)cpu的相關(guān)數(shù)據(jù)單獨(dú)顯示

-o: {HTML|csv}: 輸出格式

-f /PATH/TO/SOMEDIR: 設(shè)定輸出文件的位置

C/S模式下運(yùn)行g(shù)lancs命令:

服務(wù)模式:

glances -s -B IPaddr

ipaddr: 本機(jī)某地址,用于監(jiān)聽

客戶端模式:

glances -c IPaddr

ipaddr:是遠(yuǎn)程服務(wù)器的ip地址

dstat命令:

- versatile tool for generating system resource statistics

dstat [-afv] [options..] [delay [count]]

常用選項(xiàng):

-c, --cpu:顯示cpu相關(guān)信息;

-C #,#,...,total

-d, --disk:顯示磁盤的相關(guān)信息

-D sda,sdb,...,total

-g:顯示page相關(guān)的速率數(shù)據(jù)

-m:Memory相關(guān)統(tǒng)計(jì)數(shù)據(jù)

-n:Interface的相關(guān)統(tǒng)計(jì)數(shù)據(jù)

-p:顯示process相關(guān)統(tǒng)計(jì)數(shù)據(jù)

-r:顯示io請求的相關(guān)統(tǒng)計(jì)數(shù)據(jù)

-s:顯示swapped的相關(guān)統(tǒng)計(jì)數(shù)據(jù)

--tcp

--udp

--raw

--socket

--ipc

--top-cpu:顯示最占用cpu的進(jìn)程

--top-io: 顯示最占用io的進(jìn)程

--top-mem: 顯示最占用內(nèi)存的進(jìn)程

--top-lantency:延遲最大的進(jìn)程

kill命令:

- terminate a process

用于向進(jìn)程發(fā)送信號,以實(shí)現(xiàn)對進(jìn)程的管理;

顯示當(dāng)前系統(tǒng)可用信號:

kill -l [signal]

每個(gè)信號的標(biāo)識方法有三種

  1. 信號的數(shù)字標(biāo)識

  2. 信號的完整名稱

  3. 信號的簡寫名稱

向進(jìn)程發(fā)信號:

kill [-s signal|-p] [--] pid...

常用信號:

1)SIGHUP: 無須關(guān)閉進(jìn)程而讓其重讀配置文件;

2)SIGINT: 終止正在運(yùn)行的進(jìn)程,相當(dāng)于ctrl+c;

9)SIGKILL: 殺死運(yùn)行中的進(jìn)程;

15)SIGTERM: 終止運(yùn)行中的進(jìn)程;

18)SIGCONT:

19)SIGSTOP:

指定一個(gè)信號:

信號號碼:kill -l

信號名稱:kill -SIGKILL

信號名稱簡寫:kill -KILL

killall命令:

- kill processes by name

killall [-SIGNAL] program

Linux系統(tǒng)作業(yè)控制:

job:

前臺作業(yè)(foreground):通過終端啟動,且啟動后會一直占據(jù)終端;

后臺作業(yè)(background):可以通過終端啟動,但啟動后即轉(zhuǎn)入后臺運(yùn)行(釋放終端)

如何讓作業(yè)運(yùn)行于后臺?

(1)運(yùn)行中的作業(yè)

Ctrl+z

注意:送往后臺后,作業(yè)為轉(zhuǎn)為停止態(tài)

(2)尚未啟動的作業(yè)

#COMMAND &

注意:此類作業(yè)雖然被送往后臺,但其依然與終端相關(guān),如果希望把送往后臺的作業(yè)剝離與終端的關(guān)系;

# nohup COMMAND &

查看所有的作業(yè):

# jobs

可實(shí)現(xiàn)走也控制的常用命令

fg [[%]JOB_NUM] :把指定的作業(yè)調(diào)回前臺

bg [[%]JOB_NUM]:讓送往后臺的作業(yè)在后臺繼續(xù)運(yùn)行

kill  %JOB_NUM:終止指定的作業(yè)

調(diào)整進(jìn)程優(yōu)先級:

可通過nice值調(diào)整的優(yōu)先級范圍:100-139

分別對應(yīng)于:-20,19

進(jìn)程啟動時(shí),其nice值默認(rèn)為0,其優(yōu)先級是120

nice命令:

以指定的nice值啟動并運(yùn)行命令

nice [OPTION] [COMMAND [ARGU]..]

選項(xiàng):

-n NICE

注意:僅管理員可調(diào)低nice值;

renice命令:

renice [-n] NICE PID..

查看NICE值和優(yōu)先級:

ps axo pid,ni,priority,comm

未涉及到的命令:sar,tsar,lostat,iftop ,nethog

網(wǎng)絡(luò)配置

linux:網(wǎng)絡(luò)術(shù)語內(nèi)核的功能

網(wǎng)卡命名方式:

RHEL5:/etc/modprobe.conf

alias

RHEL6:編輯/etc/udev/rules.d/70-persistent-net.rules

ifconfig [ethx]命令:

-a:顯示所有網(wǎng)卡接口的配置信息

ifconfig ethx IP/MASK [up|down] 

配置的地址立即生效,但重啟網(wǎng)絡(luò)服務(wù)或主機(jī),都失效

網(wǎng)絡(luò)服務(wù):

RHEL5:/etc/init.d/network {start|stop|restart|status}

RHEL6:/etc/init.d/NetworkManager  {start|stop|restart|status}

網(wǎng)關(guān):

route

add:添加

-host:

-net

-net 0.0.0.0 添加默認(rèn)路由

route add -net|-host DEST gw NEXTHOP

route add default gw NEXTHOP

del:刪除

-host
-net
route del -net 10.0.0.0/8
route del -net 0.0.0.0

route del default

注意:所做出的改動重啟網(wǎng)絡(luò)服務(wù)或主機(jī)后失效

route -n:以數(shù)字方式顯示各主機(jī)或端口等相關(guān)信息

網(wǎng)絡(luò)配置文件:

/etc/sysconfig/network

網(wǎng)絡(luò)接口配置文件:

/etc/sysconfig/network-scripts/ifcfg-INTERFACE_NAME

DEVICE=:關(guān)聯(lián)的設(shè)備名稱,要與文件名的后半部“INTERFACE_NAME”保持一致;

BOOTPROTO={static|none|dhcp|bootp}:引導(dǎo)協(xié)議:要使用靜態(tài)地址,使用static或none;dhcp表示使用DHCP服務(wù)器獲取地址。

IPADDR=:IP地址

NETMASK=:子網(wǎng)掩碼

GATEWAY=:設(shè)置默認(rèn)網(wǎng)關(guān)

ONBOOT=:開機(jī)時(shí)是否自動激活此網(wǎng)絡(luò)接口

HWADDR=:硬件地址,要與硬件中的地址保持一致;可省略

USERCTL={yes|no}:是否允許普通用戶控制此接口

PEERDNS={yes|no}:是否在BOOTPROTO為dhcp時(shí)接受由DHCP服務(wù)器指定的DNS地址

注意:不會立即生效,但重啟網(wǎng)絡(luò)服務(wù)或主機(jī)都會生效

路由:

/etc/sysconfig/network-scripts/route-ethx

添加格式一:

DEST   VIA    NEXTHOP

添加格式二:

ADDRESS0=目標(biāo)地址

NETMASK0=掩碼

GETEWAY0=下一跳地址

DNS服務(wù)器指定方法只有一種:

/etc/resolv.conf

nameserver DNS1

nameserver DNS2

指定本地解析:

/etc/host

主機(jī)ip  主機(jī)名  主機(jī)別名

配置主機(jī)名:

/etc/syconfig/network

HOSTNAME=

 ip命令:

link:配置網(wǎng)絡(luò)接口屬性

show

ip -s link show

set

ip link set  DEV up|down

addr:協(xié)議地址

add

ip addr add ADDRESS dev DEV

del

ip addr del ADDRESS dev DEV

show

ip addr show dev DEV to PREFIX

flush

ip addr flush dev DEV to PREFIX 

route:路由

一塊網(wǎng)卡可以使用多個(gè)地址:

網(wǎng)絡(luò)設(shè)備可以別名:

eth0

ethx:x , eth0:0, eht1:1, ...

配置方法:

ifconfig ethx:x  IP/NETMASK

etc/sysconfig/network-scripts/ifcfg-ethx:x

DEVICE=ethx:x

注意:非主要地址不能使用DHCP動態(tài)獲取

linux IP命令用法詳解

網(wǎng)絡(luò)客戶端工具:

ping/lftp/ftp/lftpget/wget等;

ping命令:

- send ICMP ECHO_REQUEST to network hosts

ICMP:Internet  control message protocol

ping [OPTION] destination

-c #: 發(fā)送的ping包次數(shù)

-w #:ping命令超時(shí)時(shí)長

-W #:一次ping操作中,等待對方響應(yīng)的超時(shí)間長

-s #: 指明ping 包報(bào)文大小

hping命令:(package:hping3)

- send (almost) arbitrary TCP/IP packets to network hosts

--fast

--flood

--faster

-i uX :發(fā)送UDP包 -i u1000

traceroute命令:

- print the route packets trace to network host

跟蹤從源主機(jī)到目標(biāo)主機(jī)直接經(jīng)過的網(wǎng)關(guān);

ftp命令:

ftp: File Transfer Protocol

ftp服務(wù)命令行客戶端工具:

lftp命令:

lftp [-d] [-e cmd] [-p port] [-u user[,pass]] [site]

get,mget

put,mput

rm,mrm

lftpget命令:

lftpget [-c] [-d] [-v] URL [URL...]

-c:繼續(xù)此前的下載

wget命令:

The non-interactive network downloader

wget [option]... [URL]...

-b:在后臺執(zhí)行下載操作

-q:靜默模式,不顯示下載進(jìn)度

-O file:下載的文件的保存位置

-c:續(xù)傳

--limit-rate=amount:以指定的速率傳輸文件

【騰訊云】云服務(wù)器、云數(shù)據(jù)庫、COS、CDN、短信等云產(chǎn)品特惠熱賣中

發(fā)表評論

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

目前評論:1   其中:訪客  0   博主  0

    • avatar 廣告任務(wù)網(wǎng) 1

      月黑風(fēng)高夜,訪問博客時(shí)!