日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

进程管理及ps的简单使用

發(fā)布時間:2023/12/20 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 进程管理及ps的简单使用 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

一.進(jìn)程的定義
進(jìn)程就是cpu正在進(jìn)行的工作所產(chǎn)生的過程
僵尸狀態(tài)Zombie,程序已經(jīng)種植無法釋放內(nèi)存
二.ps命令
ps 列出所有在當(dāng)前的shell中運行的程序
ps a ##關(guān)于當(dāng)前環(huán)境的所有進(jìn)程,和shell的配置信息
ps -a 所有與shell運行的進(jìn)程,但不包括shell本身

ps -A/x :系統(tǒng)的所有進(jìn)程

ps -au 當(dāng)前用戶所運行的程序

ps -aux 所有進(jìn)程

ps -al 當(dāng)前進(jìn)程的詳細(xì)時間

ps f 顯示從屬關(guān)系

ps -o %cpu,%mem,pid,uid,user….

%cpu ##顯示進(jìn)程cpu負(fù)載
%mem ##顯示進(jìn)程內(nèi)存負(fù)載
user ##進(jìn)程用戶
group ##進(jìn)程組
comm ##進(jìn)程名稱
nice ##進(jìn)程優(yōu)先級

pid ##進(jìn)程的id
stat ##進(jìn)程狀態(tài)–sort=+-%cpu來表示顯示cpu從大到小排列
注:stat中顯示的信息
1. S ##進(jìn)程狀態(tài)
2. l ##內(nèi)存中有鎖定空間
3. N ##優(yōu)先級低
4. < ##優(yōu)先級高
5. + ##前臺運行
6. s ##頂級進(jìn)程


ps ax -o %cpu,comm –sort <+|-%cpu ><+|-%mem> ##按照進(jìn)程信息排序
1.+ ##正序
2. - ##倒序

如圖,利用sed命令可輸出從第多少行到第多少行

三。進(jìn)程優(yōu)先級的使用
1.進(jìn)程的優(yōu)先級為: -20~19
-20為最高權(quán)限 19為最低權(quán)限
數(shù)值越小,優(yōu)先級越高
注:優(yōu)先級的設(shè)定有利于系統(tǒng)資源的合理化分配

2.優(yōu)先級的查看:ps ax -o nice,pid,comm
監(jiān)控命令為watch -n 1 ‘ps -o nice,pid,comm,stat’

3.指定某個優(yōu)先級并且開啟進(jìn)程
nice -n 優(yōu)先級 進(jìn)程名稱
nice -n 5 vim & 開啟vim并且指定程序優(yōu)先級為5

4.改變進(jìn)程優(yōu)先級
renice -n 優(yōu)先級數(shù)字 進(jìn)程pid

四.環(huán)境中進(jìn)程的前后臺調(diào)用

jobs 查看被打入后臺的進(jìn)程
ctrl+z 把占用終端的進(jìn)程打入后臺,并且不運行
fg jobsnumber 把后臺暫停的進(jìn)程運行
bg jobsnumber 把后臺進(jìn)程調(diào)回到前臺
jobs -l 顯示進(jìn)程狀態(tài)和pid
comm & 讓命令直接在后臺運行

五、用戶登錄審計
w ##查看使用系統(tǒng)的當(dāng)前用戶有哪些
w -f ##-f查看使用地點
last ##查看用戶登陸成功歷史
lastb ##查看用戶登陸未成功歷史

六.top命令
top ##監(jiān)控系統(tǒng)負(fù)載工具

s : 修改進(jìn)程刷新間隔時間 后面加秒數(shù)
m : 根據(jù)內(nèi)存占有率進(jìn)行排序
c : 根據(jù) cpu 占有率進(jìn)行排序
u : 后面輸入用戶名 , 用來查看該用戶發(fā)起的所有進(jìn)程
k : 后面跟要作用的進(jìn)程pid, 和發(fā)起的信號 (eg:9,15,20)用來給某個進(jìn)程發(fā)起一信號
q : 退出進(jìn)程查看界面
h : 顯示 top 命令的幫助
七.進(jìn)程信號
1.常用信號等級
1 進(jìn)程重新加載配置(熱處理,即為在線處理)
2 刪除進(jìn)程在內(nèi)存中的數(shù)據(jù)
3 刪除鼠標(biāo)在內(nèi)存中的數(shù)據(jù)
9 強行結(jié)束單個進(jìn)程(不能被阻塞)
15 正常關(guān)閉進(jìn)程 (可能會被阻塞)
注:關(guān)閉系統(tǒng)程序可能會被阻塞

18 運行暫停的進(jìn)程
19 暫停某個進(jìn)程 (不能被阻塞)
20 把進(jìn)程打入后臺 (可以被阻塞)
2.
man 7 signal ##查看信號詳細(xì)信息
kill -信號 進(jìn)程pid

killall -信號 進(jìn)程名字

pkill -u student -信號
表示某個用戶的所有執(zhí)行文件執(zhí)行那個信號
3.所有信號
SIGHUP 終止進(jìn)程 終端線路掛斷

SIGINT 終止進(jìn)程 中斷進(jìn)程

SIGQUIT 建立CORE文件終止進(jìn)程,并且生成core文件

SIGILL 建立CORE文件 非法指令

SIGTRAP 建立CORE文件 跟蹤自陷

SIGBUS 建立CORE文件 總線錯誤

SIGSEGV 建立CORE文件 段非法錯誤

SIGFPE 建立CORE文件 浮點異常

SIGIOT 建立CORE文件 執(zhí)行I/O自陷

SIGKILL 終止進(jìn)程 殺死進(jìn)程

SIGPIPE 終止進(jìn)程 向一個沒有讀進(jìn)程的管道寫數(shù)據(jù)

SIGALARM 終止進(jìn)程 計時器到時

SIGTERM 終止進(jìn)程 軟件終止信號

SIGSTOP 停止進(jìn)程 非終端來的停止信號

SIGTSTP 停止進(jìn)程 終端來的停止信號

SIGCONT 忽略信號 繼續(xù)執(zhí)行一個停止的進(jìn)程

SIGURG 忽略信號 I/O緊急信號

SIGIO 忽略信號 描述符上可以進(jìn)行I/O

SIGCHLD 忽略信號 當(dāng)子進(jìn)程停止或退出時通知父進(jìn)程

SIGTTOU 停止進(jìn)程 后臺進(jìn)程寫終端

SIGTTIN 停止進(jìn)程 后臺進(jìn)程讀終端

SIGXGPU 終止進(jìn)程 CPU時限超時

SIGXFSZ 終止進(jìn)程 文件長度過長

SIGWINCH 忽略信號 窗口大小發(fā)生變化

SIGPROF 終止進(jìn)程 統(tǒng)計分布圖用計時器到時

SIGUSR1 終止進(jìn)程 用戶定義信號1

SIGUSR2 終止進(jìn)程 用戶定義信號2

SIGVTALRM終止進(jìn)程 虛擬計時器到時

1) SIGHUP

本信號在用戶終端連接(正常或非正常)結(jié)束時發(fā)出,通常是在終端的控制進(jìn)程結(jié)束時,通知同一session內(nèi)的各個作業(yè),這時它們與控制終端不再關(guān)聯(lián).

2) SIGINT

程序終止(interrupt)信號,在用戶鍵入INTR字符(通常是Ctrl-C)時發(fā)出

3) SIGQUIT和SIGINT類似,但由QUIT字符(通常是Ctrl-)來控制.進(jìn)程在因收到SIGQUIT退出時會產(chǎn)生core文件,在這個意義上類似于一個程序錯誤信號.

4) SIGILL執(zhí)行了非法指令.通常是因為可執(zhí)行文件本身出現(xiàn)錯誤,或者試圖執(zhí)行數(shù)據(jù)段.堆棧溢出時也有可能產(chǎn)生這個信號.

5) SIGTRAP由斷點指令或其它trap指令產(chǎn)生.由debugger使用.

6) SIGABRT程序自己發(fā)現(xiàn)錯誤并調(diào)用abort時產(chǎn)生.SIGIOT在PDP-11上由iot指令產(chǎn)生,在其它機器上和SIGABRT一樣.

7) SIGBUS非法地址,包括內(nèi)存地址對齊(alignment)出錯. eg:訪問一個四個字長的整數(shù),但其地址不是4的倍數(shù).

8) SIGFPE在發(fā)生致命的算術(shù)運算錯誤時發(fā)出.不僅包括浮點運算錯誤,還包括溢出及除數(shù)為0等其它所有的算術(shù)的錯誤.

9) SIGKILL用來立即結(jié)束程序的運行.本信號不能被阻塞,處理和忽略.

10) SIGUSR1留給用戶使用

11) SIGSEGV試圖訪問未分配給自己的內(nèi)存,或試圖往沒有寫權(quán)限的內(nèi)存地址寫數(shù)據(jù).

12) SIGUSR2留給用戶使用

13)SIGPIPE Broken pipe

14) SIGALRM時鐘定時信號,計算的是實際的時間或時鐘時間.alarm函數(shù)使用該信號.

15) SIGTERM程序結(jié)束(terminate)信號,與SIGKILL不同的是該信號可以被阻塞和處理.通常用來要求程序自己正常退出. shell命令kill缺省產(chǎn)生這個信號.

16) SIGCHLD子進(jìn)程結(jié)束時,父進(jìn)程會收到這個信號.

17) SIGCONT讓一個停止(stopped)的進(jìn)程繼續(xù)執(zhí)行.本信號不能被阻塞.可以用一個handler來讓程序在由stopped狀態(tài)變?yōu)槔^續(xù)執(zhí)行時完成特定的工作.例如,重新顯示提示符

18) SIGSTOP停止(stopped)進(jìn)程的執(zhí)行.注意它和terminate以及interrupt的區(qū)別:該進(jìn)程還未結(jié)束,只是暫停執(zhí)行.本信號不能被阻塞,處理或忽略.

19) SIGTSTP停止進(jìn)程的運行,但該信號可以被處理和忽略.用戶鍵入SUSP字符時(通常是Ctrl-Z)發(fā)出這個信號

20) SIGTTIN當(dāng)后臺作業(yè)要從用戶終端讀數(shù)據(jù)時,該作業(yè)中的所有進(jìn)程會收到SIGTTIN信號.缺省時這些進(jìn)程會停止執(zhí)行.

21) SIGTTOU類似于SIGTTIN,但在寫終端(或修改終端模式)時收到.

22) SIGURG有”緊急”數(shù)據(jù)或out-of-band數(shù)據(jù)到達(dá)socket時產(chǎn)生.

23) SIGXCPU超過CPU時間資源限制.這個限制可以由getrlimit/setrlimit來讀取/改變

24) SIGXFSZ超過文件大小資源限制.

25) SIGVTALRM虛擬時鐘信號.類似于SIGALRM,但是計算的是該進(jìn)程占用的CPU時間.

26) SIGPROF類似于SIGALRM/SIGVTALRM,但包括該進(jìn)程用的CPU時間以及系統(tǒng)調(diào)用的時間.

27) SIGWINCH窗口大小改變時發(fā)出.

28) SIGIO文件描述符準(zhǔn)備就緒,可以開始進(jìn)行輸入/輸出操作.

29) SIGPWR Power failure
注:注:有兩個信號可以停止進(jìn)程:SIGTERM和SIGKILL。 SIGTERM比較友好,進(jìn)程能捕捉這個信號,根據(jù)您的需要來關(guān)閉程序。在關(guān)閉程序之前,您可以結(jié)束打開的記錄文件和完成正在做的任務(wù)。在某些情況下,假如進(jìn)程正在進(jìn)行作業(yè)而且不能中斷,那么進(jìn)程可以忽略這個SIGTERM信號。對于SIGKILL信號,進(jìn)程是不能忽略的。這是一個 “我不管您在做什么,立刻停止”的信號。假如您發(fā)送SIGKILL信號給進(jìn)程,Linux就將進(jìn)程停止在那里

總結(jié)

以上是生活随笔為你收集整理的进程管理及ps的简单使用的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。