四虎国产精品永久地址998_chinesexxx少妇露脸_日本丁香久久综合国产精品_一区二区久久久久_四虎av影视_久久久久国产一区二区三区不卡

中培偉業(yè)IT資訊頻道
您現(xiàn)在的位置:首頁 > IT資訊 > IT運(yùn)維 > Linux 進(jìn)程有哪些方法?這4種方法輕松易學(xué)

Linux 進(jìn)程有哪些方法?這4種方法輕松易學(xué)

2020-06-29 17:32:43 | 來源:中培企業(yè)IT培訓(xùn)網(wǎng)

今天我們就來介紹一下Linux 進(jìn)程有哪些方法的信息。ps檢查進(jìn)程ID,查看該進(jìn)程是否仍然存在以及進(jìn)程狀態(tài)。如果是這樣,則strace和psstack查看進(jìn)程的當(dāng)前信息是否卡在了哪個(gè)位置,比較每幀的最后一次調(diào)用信息以查找異常點(diǎn),例如該進(jìn)程不在corefile文件中,檢查 corefile的信息直接在gdb上。 當(dāng)其他無法治愈進(jìn)程狀態(tài)的信息時(shí),請(qǐng)查看/proc/pid下的過程狀態(tài)信息。

  1、strace

trace system calls and signals 跟蹤進(jìn)程內(nèi)部的系統(tǒng)調(diào)用和信號(hào)

什么是系統(tǒng)調(diào)用?系統(tǒng)調(diào)用,指運(yùn)行在「用戶態(tài)」的程序向操作系統(tǒng)「內(nèi)核態(tài)」請(qǐng)求需要更高權(quán)限運(yùn)行的服務(wù),系統(tǒng)調(diào)用提供用戶程序與操作系統(tǒng)之間的接口。

strace后面跟著啟動(dòng)一個(gè)進(jìn)程,可以跟蹤啟動(dòng)后進(jìn)程的系統(tǒng)調(diào)用和信號(hào),這個(gè)命令可以看到進(jìn)程執(zhí)行時(shí)候都調(diào)用了哪些系統(tǒng)調(diào)用,通過指定不同的選項(xiàng)可以輸出系統(tǒng)調(diào)用發(fā)生的時(shí)間,精度可以精確到微秒,甚至還可以統(tǒng)計(jì)分析系統(tǒng)「調(diào)用的耗時(shí)」,這在排查進(jìn)程假死問題的時(shí)候很有用,能幫你發(fā)現(xiàn)進(jìn)程卡在哪個(gè)系統(tǒng)調(diào)用上。已經(jīng)在運(yùn)行的進(jìn)程也可以指定-p參數(shù)加pid像gdb attach那樣附著上去跟蹤。

  2、pstack

print a stack trace of a running process 打印出運(yùn)行中程序的堆棧信息。

執(zhí)行命令pstack pid 你能看到當(dāng)前線程運(yùn)行中的堆棧信息,其中的pid可用之前的ps命令獲得,pstack可以看到進(jìn)程內(nèi)啟動(dòng)的線程號(hào),每個(gè)進(jìn)程內(nèi)線程的「堆?!箖?nèi)容也能看到。

  3、pstree

display a tree of processes pstree按樹形結(jié)構(gòu)打印運(yùn)行中進(jìn)程結(jié)構(gòu)信息,可以直觀的查看進(jìn)程和它啟動(dòng)的線程的關(guān)系,并能顯示進(jìn)程標(biāo)識(shí)。

  4、gdb

gdb是GNU開發(fā)的gcc套件中Linux下程序調(diào)試工具,你可以查看程序的堆棧、設(shè)置斷點(diǎn)、打印程序運(yùn)行時(shí)信息,甚至還能調(diào)試多線程程序,功能十分強(qiáng)大。在這里把gdb當(dāng)成一個(gè)命令來講有點(diǎn)大材小用。

要用gdb調(diào)試C/C++程序首先編譯的時(shí)候要加-g選項(xiàng),g++ -g test.cpp -o test這樣生成的程序就可以用gdb來調(diào)試?yán)病?/p>

可以直接用gdb啟動(dòng)程序調(diào)試,命令:gdb prog

用gdb附著到一個(gè)已經(jīng)啟動(dòng)的進(jìn)程上調(diào)試也可以。命令:gdb prog pid

程序崩潰之后參數(shù)corefile也可以用gdb調(diào)試,看看程序死掉之前留了什么遺言(堆棧信息)給你。命令:gdb prog corefile,這里有一點(diǎn)需要注意,有些Linux

系統(tǒng)默認(rèn)程序崩潰不生成corefile,這時(shí)你需要ulimit -cunlimited這樣就能生成corefile了。

以上就是關(guān)于Linux 進(jìn)程有哪些方法的全部?jī)?nèi)容介紹,想了解更多關(guān)于Linux 的信息,請(qǐng)繼續(xù)關(guān)注中培偉業(yè)。

標(biāo)簽: Linux Linux進(jìn)程方法
主站蜘蛛池模板: 义马市| 新晃| 彰化市| 古浪县| 寿光市| 肥乡县| 綦江县| 庆阳市| 政和县| 营口市| 宁德市| 云安县| 乌拉特前旗| 苏尼特左旗| 福泉市| 吉林市| 福州市| 商河县| 韶关市| 宽甸| 济阳县| 嘉鱼县| 康定县| 富源县| 双流县| 东光县| 石林| 仁化县| 新巴尔虎左旗| 静宁县| 罗田县| 杂多县| 荆门市| 拉萨市| 漳浦县| 嘉善县| 西充县| 肥城市| 淮南市| 洛川县| 潜江市|