一.進程的含義
進程:一段內存空間中的運行的一個或多個線程,它是用戶的代理。
可以通過ls /proc 查看當前系統的進程,如果要進一步瞭解某一進程的詳細信息cd /proc/PID 然後ls查看.
我們還可以通過pstree查看所有進程之間的樹形關係。
二。進程數據的結構
1. PID:進程號,是1-32767的數。
2. PID 1是init的進程號,init是所有其他進程的父進程,系統啓用時首先調用的就是init,在通過init調用其他的進程
3. 進程分爲:用戶進程和守護進程。
用戶進程--->terminal ---->shell
守護進程---->daemon--->shell
三。查看進程信息常用命令
1。ps
ps風格有(1)UNIX (2)BSD (3)GNU
BSD風格:
所有選項都不需要加橫線。
a: 跟終端相關的所有進程(即用戶進程)。
x:跟終端不相關的所有進程(即守護進程)。
u:以用戶爲導向顯示ps信息,即用戶相關的信息。
例如:
USER:屬主,即進程的發起者。
PID:進程號。
%CPU:此進程獲得的cpu時間和cpu總時間的比。
%MEN:此進程獲得的內存佔整個物理內存的%。
VSZ:佔用虛擬內存的大小(k)。
RSS:佔用非虛擬內存的大小(k)。
TTY:登陸端。 ?:守護進程。
STAT:進程狀態。選項有:D,R,S,T,W,X,Z.
D:不可中斷的睡眠。
R:正在運行或等待運行。
S:可中斷的睡眠。
T:進程停止。
X:死掉的進程。
Z: 殭屍進程。
附加修飾選項:
<:高優先級的進程。
N:低優先級的進程。
L:有些頁面被鎖定 在內存裏。
s:回話頭
l:多線程的.
+:在前臺運行的
euser:此程序一誰的權限運行的。
ruser:此進程的發起人。
ATART:此進程發起的時間。
TIME:累積獲得
cpu時間。
COMMAND: 哪一個命令發起的進程。
o:用戶指定格式,可以指定顯示進程信息中的某一段。
例如:
2.ps 的-e -f選項
-e:顯示所有進程,相當於ax
-F:額外的完全格式的進程。
-f:完整格式的所有信息。
-l:長格式的信息。
-L:線程信息
例如:以完整格式顯示進程信息
UID:當前進程的屬主。
PID:進程號。
PPID:父進程號。
STIME:進程啓用時間。
TTY:登陸終端,?:守護進程。
TIME:累積佔用cpu時間。
CMD:那個命令發起的進程。
例如:查找於x server相關的進程信息
注:選行用grep,選列用o選項
3.pgrep
以支持正則表達式的方式來實現進程寫去的。
-U:某個用戶啓動的線程。
例如:
-G;有關某一組的進程信息。
-l
例如:顯示行中pid或commend中包含了1的進程行
-v:取反。
例如:顯示非root用戶的進程PID。
4.pidof sshd =ps axo pid,command |grep ssh
選擇某一進程(ssh)的進程號
5.kill
kill –l 進程信息列表
kill –9 立刻終止
kill –15 保存後終止
killall –U uid 關閉某一主的所有進程
killall -G gid 關閉某一組的所有進程
pkill –U uid -G gid
6。top
動態顯示進程(q退出)
us:用戶 sy:系統 ni:優先級改動 id : 空閒
wa:等待時長(硬盤---緩存)
hi:硬鏈接
ri:軟連接
st:被虛擬機用走的時間
huffer:緩衝
cashed:緩存
7.top
top –b 自動一次刷一屏
-n:指定批次
top –b –n 2
-d:指定延遲多長時間刷一次
8.jobs
查看後臺
Ctrl +z送往後臺並停止
fg %n:將後臺的n調往前臺
bg%n:後臺停止的作業後臺運行
9。at
寫完後用Ctrl+d 提交
at –l :查看計劃列表=atq
at –d n =atrm:取消第n個作業
at –f +文件+時間
例如:at /root/at.text 04:00
10.crond
/etc/crontab :存放着系統的週期作業
crontab –e :查看
作業結構:min hour day month weekday command
*:通配
,:同一位給兩值是分割用
*?/:每什麼
crontab –u 用戶 –e :提別的用戶建作業
crontab –U 用戶 –l :查看某一用戶的作業
11,。anacron
系統啓動後自動查看cron有無沒做的作業,如果有,現在執行作業
默認是它並不開機啓用此服務