linux运维基础篇 unit7
unit 7
?
1.進(jìn)程定義
進(jìn)程就是cpu未完成的工作
?
2.ps命令
ps
a ? ? ? ? ? ?##關(guān)于當(dāng)前環(huán)境的所有進(jìn)程
x ? ? ? ? ? ?##與當(dāng)前環(huán)境無(wú)關(guān)的所有進(jìn)程
f ? ? ? ? ? ?##顯示進(jìn)程從屬關(guān)系
e ? ? ? ? ? ?##顯示進(jìn)程調(diào)用環(huán)境工具的詳細(xì)信息
l ? ? ? ? ? ?##長(zhǎng)列表顯示進(jìn)程的詳細(xì)信息
u ? ? ? ? ? ?##顯示進(jìn)程的用戶(hù)信息
?
ps ax -o %cpu,%mem,user,group,comm,nice,pid##指定顯示進(jìn)程的某些信息
%cpu ? ? ? ? ? ?#顯示進(jìn)程cpu負(fù)載
%mem ? ? ? ? ? ?##顯示進(jìn)程內(nèi)存負(fù)載
user ? ? ? ? ? ?##進(jìn)程用戶(hù)
group ? ? ? ? ??##進(jìn)程組
comm ? ? ? ? ? ?##進(jìn)程名稱(chēng)
nice ? ? ? ? ? ?##進(jìn)程優(yōu)先級(jí)
pid ? ? ? ? ? ? ?##進(jìn)程的id
?
ps ax -o %cpu,comm --sort <+|-%cpu > <+|-%mem>##按照進(jìn)程信息排序
+ ? ? ? ? ??##正序
- ? ? ? ? ??#倒序
%cpu ? ? ? ?##cpu負(fù)載排序
%mem ? ? ? ?##內(nèi)存負(fù)載
?
?
####3.進(jìn)程優(yōu)先級(jí)####
1.進(jìn)程的優(yōu)先級(jí)范圍
-20~19
?
2.優(yōu)先級(jí)查看
ps ax -o pid,nice,comm
3.指定某個(gè)優(yōu)先級(jí)開(kāi)啟進(jìn)程
nice -n 優(yōu)先級(jí)數(shù)字進(jìn)程名稱(chēng)
nice -n -5 vim &##開(kāi)啟vim并且指定程序優(yōu)先級(jí)為-5
?
4.改變進(jìn)程優(yōu)先級(jí)
reince -n 優(yōu)先級(jí)數(shù)字進(jìn)程pid
renice -n -5 1806##改變1806進(jìn)程的優(yōu)先級(jí)為-5
root@desktop0 ~]# ps a -o pid,nice,comm
??PID ?NI COMMAND
??614 ??0 Xorg
?1128 ??0 agetty
?1625 ??0 bash
?1785 ??0 vim
?1806 ?-5 vim
?1824 ?-5 vim
?1835 ??0 ps
?
4.環(huán)境中進(jìn)程的前后臺(tái)調(diào)用
jobs ? ? ? ? ?##查看被打入環(huán)境后臺(tái)的進(jìn)程
ctrl+z ? ? ? ??##把占用終端的進(jìn)程打入后臺(tái)
fg ? ? ? ??##把后臺(tái)進(jìn)程調(diào)回前臺(tái)
bg ? ? ? ? ?##把后臺(tái)暫停的進(jìn)程運(yùn)行
comm & ? ? ??##讓命令直接在后臺(tái)運(yùn)行
?
?
####5.進(jìn)程信號(hào)####
1.常用信號(hào)等級(jí)
1 ? ? ? ? ? ?##進(jìn)程重新加載配置
2 ? ? ? ? ? ?##刪除進(jìn)程在內(nèi)存中的數(shù)據(jù)
3 ? ? ? ? ? ?##刪除鼠標(biāo)在內(nèi)存中的數(shù)據(jù)
9 ? ? ? ? ? ?##強(qiáng)行結(jié)束單個(gè)進(jìn)程(不能被阻塞)
15 ? ? ? ? ??##正常關(guān)閉進(jìn)程?(可能會(huì)被阻塞)
18 ? ? ? ? ??##運(yùn)行暫停的進(jìn)程
19 ? ? ? ? ??##暫停某個(gè)進(jìn)程?(不能被阻塞)
20 ? ? ? ? ??##把進(jìn)程打入后臺(tái)(可以被阻塞)
man 7 signal?##查看信號(hào)詳細(xì)信息
?
kill -信號(hào) 進(jìn)程pid
killall -信號(hào)進(jìn)程名字
pkill-u student -信號(hào)
?
SIGHUP ????終止進(jìn)程 ????終端線(xiàn)路掛斷
SIGINT ????終止進(jìn)程 ????中斷進(jìn)程
SIGQUIT ??建立CORE文件終止進(jìn)程,并且生成core文件
SIGILL ??建立CORE文件 ??????非法指令
SIGTRAP ??建立CORE文件 ??????跟蹤自陷
SIGBUS ??建立CORE文件 ??????總線(xiàn)錯(cuò)誤
SIGSEGV ??建立CORE文件 ??????段非法錯(cuò)誤
SIGFPE ??建立CORE文件 ??????浮點(diǎn)異常
SIGIOT ??建立CORE文件 ??????執(zhí)行I/O自陷
SIGKILL ??終止進(jìn)程 ????殺死進(jìn)程
SIGPIPE ??終止進(jìn)程 ????向一個(gè)沒(méi)有讀進(jìn)程的管道寫(xiě)數(shù)據(jù)
SIGALARM ??終止進(jìn)程 ????計(jì)時(shí)器到時(shí)
SIGTERM ??終止進(jìn)程 ????軟件終止信號(hào)
SIGSTOP ??停止進(jìn)程 ????非終端來(lái)的停止信號(hào)
SIGTSTP ??停止進(jìn)程 ????終端來(lái)的停止信號(hào)
SIGCONT ??忽略信號(hào) ????繼續(xù)執(zhí)行一個(gè)停止的進(jìn)程
SIGURG ??忽略信號(hào) ????I/O緊急信號(hào)
SIGIO ????忽略信號(hào) ????描述符上可以進(jìn)行I/O
SIGCHLD ??忽略信號(hào) ????當(dāng)子進(jìn)程停止或退出時(shí)通知父進(jìn)程
SIGTTOU ??停止進(jìn)程 ????后臺(tái)進(jìn)程寫(xiě)終端
SIGTTIN ??停止進(jìn)程 ????后臺(tái)進(jìn)程讀終端
SIGXGPU ??終止進(jìn)程 ????CPU時(shí)限超時(shí)
SIGXFSZ ??終止進(jìn)程 ????文件長(zhǎng)度過(guò)長(zhǎng)
SIGWINCH ??忽略信號(hào) ????窗口大小發(fā)生變化
SIGPROF ??終止進(jìn)程 ????統(tǒng)計(jì)分布圖用計(jì)時(shí)器到時(shí)
SIGUSR1 ??終止進(jìn)程 ????用戶(hù)定義信號(hào)1
SIGUSR2 ??終止進(jìn)程 ????用戶(hù)定義信號(hào)2
SIGVTALRM 終止進(jìn)程 ????虛擬計(jì)時(shí)器到時(shí)
?
1) SIGHUP
本信號(hào)在用戶(hù)終端連接(正常或非正常)結(jié)束時(shí)發(fā)出, 通常是在終端的控
制進(jìn)程結(jié)束時(shí), 通知同一session內(nèi)的各個(gè)作業(yè), 這時(shí)它們與控制終端
不再關(guān)聯(lián).
2) SIGINT
程序終止(interrupt)信號(hào), 在用戶(hù)鍵入INTR字符(通常是Ctrl-C)時(shí)發(fā)出
3)
SIGQUIT 和SIGINT類(lèi)似, 但由QUIT字符(通常是Ctrl-)來(lái)控制. 進(jìn)程在因收到
SIGQUIT退出時(shí)會(huì)產(chǎn)生core文件, 在這個(gè)意義上類(lèi)似于一個(gè)程序錯(cuò)誤信
號(hào).
4)
SIGILL 執(zhí)行了非法指令. 通常是因?yàn)榭蓤?zhí)行文件本身出現(xiàn)錯(cuò)誤, 或者試圖執(zhí)行
數(shù)據(jù)段. 堆棧溢出時(shí)也有可能產(chǎn)生這個(gè)信號(hào).
5)
SIGTRAP 由斷點(diǎn)指令或其它trap指令產(chǎn)生. 由debugger使用.
6)
SIGABRT 程序自己發(fā)現(xiàn)錯(cuò)誤并調(diào)用abort時(shí)產(chǎn)生.
6)
SIGIOT 在PDP-11上由iot指令產(chǎn)生, 在其它機(jī)器上和SIGABRT一樣.
7)
SIGBUS 非法地址, 包括內(nèi)存地址對(duì)齊(alignment)出錯(cuò). eg: 訪(fǎng)問(wèn)一個(gè)四個(gè)字長(zhǎng)
的整數(shù), 但其地址不是4的倍數(shù).
8)
SIGFPE 在發(fā)生致命的算術(shù)運(yùn)算錯(cuò)誤時(shí)發(fā)出. 不僅包括浮點(diǎn)運(yùn)算錯(cuò)誤, 還包括溢
出及除數(shù)為0等其它所有的算術(shù)的錯(cuò)誤.
9)
SIGKILL 用來(lái)立即結(jié)束程序的運(yùn)行. 本信號(hào)不能被阻塞, 處理和忽略.
10)
SIGUSR1 留給用戶(hù)使用
11)
SIGSEGV 試圖訪(fǎng)問(wèn)未分配給自己的內(nèi)存, 或試圖往沒(méi)有寫(xiě)權(quán)限的內(nèi)存地址寫(xiě)數(shù)據(jù).
12)
SIGUSR2 留給用戶(hù)使用
13)
SIGPIPE Broken pipe
14)
SIGALRM 時(shí)鐘定時(shí)信號(hào), 計(jì)算的是實(shí)際的時(shí)間或時(shí)鐘時(shí)間. alarm函數(shù)使用該
信號(hào).
15)
SIGTERM 程序結(jié)束(terminate)信號(hào), 與SIGKILL不同的是該信號(hào)可以被阻塞和
處理. 通常用來(lái)要求程序自己正常退出. shell命令kill缺省產(chǎn)生這
個(gè)信號(hào).
17)
SIGCHLD 子進(jìn)程結(jié)束時(shí), 父進(jìn)程會(huì)收到這個(gè)信號(hào).
18)
SIGCONT 讓一個(gè)停止(stopped)的進(jìn)程繼續(xù)執(zhí)行. 本信號(hào)不能被阻塞. 可以用
一個(gè)handler來(lái)讓程序在由stopped狀態(tài)變?yōu)槔^續(xù)執(zhí)行時(shí)完成特定的
工作. 例如, 重新顯示提示符
19)
SIGSTOP 停止(stopped)進(jìn)程的執(zhí)行. 注意它和terminate以及interrupt的區(qū)別:
該進(jìn)程還未結(jié)束, 只是暫停執(zhí)行. 本信號(hào)不能被阻塞, 處理或忽略.
20)
SIGTSTP 停止進(jìn)程的運(yùn)行, 但該信號(hào)可以被處理和忽略. 用戶(hù)鍵入SUSP字符時(shí)
(通常是Ctrl-Z)發(fā)出這個(gè)信號(hào)
21)
SIGTTIN 當(dāng)后臺(tái)作業(yè)要從用戶(hù)終端讀數(shù)據(jù)時(shí), 該作業(yè)中的所有進(jìn)程會(huì)收到SIGTTIN
信號(hào). 缺省時(shí)這些進(jìn)程會(huì)停止執(zhí)行.
22)
SIGTTOU 類(lèi)似于SIGTTIN, 但在寫(xiě)終端(或修改終端模式)時(shí)收到.
23)
SIGURG 有"緊急"數(shù)據(jù)或out-of-band數(shù)據(jù)到達(dá)socket時(shí)產(chǎn)生.
24)
SIGXCPU 超過(guò)CPU時(shí)間資源限制. 這個(gè)限制可以由getrlimit/setrlimit來(lái)讀取/
改變
25)
SIGXFSZ 超過(guò)文件大小資源限制.
26)
SIGVTALRM 虛擬時(shí)鐘信號(hào). 類(lèi)似于SIGALRM, 但是計(jì)算的是該進(jìn)程占用的CPU時(shí)間.
27)
SIGPROF 類(lèi)似于SIGALRM/SIGVTALRM, 但包括該進(jìn)程用的CPU時(shí)間以及系統(tǒng)調(diào)用的
時(shí)間.
28)
SIGWINCH 窗口大小改變時(shí)發(fā)出.
29)
SIGIO 文件描述符準(zhǔn)備就緒, 可以開(kāi)始進(jìn)行輸入/輸出操作.
30)
SIGPWR Power failure
?
有 兩個(gè)信號(hào)可以停止進(jìn)程:SIGTERM和SIGKILL。 SIGTERM比較友好,進(jìn)程能捕捉這個(gè)信號(hào),根據(jù)您的需要來(lái)關(guān)閉程序。在關(guān)閉程序之前,您可以結(jié)束打開(kāi)的記錄文件和完成正在做的任務(wù)。在某些情況下,假 如進(jìn)程正在進(jìn)行作業(yè)而且不能中斷,那么進(jìn)程可以忽略這個(gè)SIGTERM信號(hào)。
?
對(duì)于SIGKILL信號(hào),進(jìn)程是不能忽略的。這是一個(gè) “我不管您在做什么,立刻停止”的信號(hào)。假如您發(fā)送SIGKILL信號(hào)給進(jìn)程,Linux就將進(jìn)程停止在那里
?
####6.用戶(hù)登陸審記####
?
1
w ? ? ? ? ?##查看使用系統(tǒng)的當(dāng)前用戶(hù)有那些
w -f ? ? ??##-f查看使用地點(diǎn)
?
2
last ? ? ? ??##查看用戶(hù)登陸成功歷史
lastb ? ? ? ? ? ?##查看用戶(hù)登陸未成功歷史
?
?
?
####7.top命令####
top ? ? ? ? ? ?##監(jiān)控系統(tǒng)負(fù)載工具
轉(zhuǎn)載于:https://blog.51cto.com/12774215/1913933
總結(jié)
以上是生活随笔為你收集整理的linux运维基础篇 unit7的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 注册csdn博客步骤
- 下一篇: Linux学习 Unit 9