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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

shell中的PS命令的含义

發(fā)布時(shí)間:2025/4/5 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 shell中的PS命令的含义 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

1.ps查看進(jìn)程的命令。

2.PS命令中的%CPU是指一個(gè)進(jìn)程占用CPU的時(shí)間百分比。

PS的man手冊(cè)的解釋是這樣的

?

ps的代碼中是這樣處理的

?

其中seconds_since_boot是用當(dāng)前時(shí)間減去系統(tǒng)啟動(dòng)時(shí)的時(shí)間得到的,啟動(dòng)的時(shí)間通過讀/proc/stat中的btime獲得。而start_time是進(jìn)程被fork時(shí)設(shè)置的。另外進(jìn)程的時(shí)間包括在用戶態(tài)運(yùn)行的時(shí)間和內(nèi)核態(tài)運(yùn)行的時(shí)間。這樣,這個(gè)百分比的含義就是從進(jìn)程被創(chuàng)建到執(zhí)行ps操作這段時(shí)間T內(nèi),這個(gè)進(jìn)程運(yùn)行的時(shí)間和T的比值。?

如果在ps中指定了include_dead_children選項(xiàng),那么這個(gè)進(jìn)程的時(shí)間還包括它的它創(chuàng)建的但已經(jīng)死去的進(jìn)程的運(yùn)行時(shí)間,cutime和cstime會(huì)在父進(jìn)程為子進(jìn)程收尸的時(shí)候調(diào)用wait_task_zombie來累加。比如在bash中執(zhí)行updatedb,在執(zhí)行完成后,運(yùn)行?

ps -eo pcpu,comm,stat,pid|grep bash

ps S -eo pcpu,comm,stat,pid|grep bash

后者的百分比更在。

http://os.51cto.com/art/201101/244056.htm

?

使用linux操作系統(tǒng),難免遇到一些軟件"卡殼"的問題,這時(shí)就需要使用linux下強(qiáng)大的kill命令來結(jié)束相關(guān)進(jìn)程。這在linux系統(tǒng)下是極其容易的事情,你只需要kill xxx即可,這里xxx代表與此軟件運(yùn)行相關(guān)的進(jìn)程PID號(hào)。

首先,我們需要使用linux下另外一個(gè)
ps命令查找與進(jìn)程相關(guān)的PID號(hào):ps aux | grep program_filter_word

  • ps a 顯示現(xiàn)行終端機(jī)下的所有程序,包括其他用戶的程序。
  • ps -A 顯示所有程序。
  • ps c 列出程序時(shí),顯示每個(gè)程序真正的指令名稱,而不包含路徑,參數(shù)或常駐服務(wù)的標(biāo)示。
  • ps -e 此參數(shù)的效果和指定"A"參數(shù)相同。
  • ps e 列出程序時(shí),顯示每個(gè)程序所使用的環(huán)境變量。
  • ps f 用ASCII字符顯示樹狀結(jié)構(gòu),表達(dá)程序間的相互關(guān)系。
  • ps -H 顯示樹狀結(jié)構(gòu),表示程序間的相互關(guān)系。
  • ps -N 顯示所有的程序,除了執(zhí)行ps指令終端機(jī)下的程序之外。
  • ps s 采用程序信號(hào)的格式顯示程序狀況。
  • ps S 列出程序時(shí),包括已中斷的子程序資料。
  • ps -t<終端機(jī)編號(hào)> 指定終端機(jī)編號(hào),并列出屬于該終端機(jī)的程序的狀況。
  • ps u 以用戶為主的格式來顯示程序狀況。
  • ps x 顯示所有程序,不以終端機(jī)來區(qū)分。
  • 最常用的方法是ps aux,然后再通過管道使用grep命令過濾查找特定的進(jìn)程,然后再對(duì)特定的進(jìn)程進(jìn)行操作。

    其次,
    使用kill命令結(jié)束進(jìn)程:kill xxx

    1)作用

    kill命令用來中止一個(gè)進(jìn)程。

    2)格式

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

    3)參數(shù)

    -s:指定發(fā)送的信號(hào)。
    -p:模擬發(fā)送信號(hào)。
    -l:指定信號(hào)的名稱列表。
    pid:要中止進(jìn)程的ID號(hào)。
    Signal:表示信號(hào)。

    4)說明

    進(jìn)程是Linux系統(tǒng)中一個(gè)非常重要的概念。Linux是一個(gè)多任務(wù)的操作系統(tǒng),系統(tǒng)上經(jīng)常同時(shí)運(yùn)行著多個(gè)進(jìn)程。我們不關(guān)心這些進(jìn)程究竟是如何分配的,或者是內(nèi)核如何管理分配時(shí)間片的,所關(guān)心的是如何去控制這些進(jìn)程,讓它們能夠很好地為用戶服務(wù)。

    Linux操作系統(tǒng)包括三種不同類型的進(jìn)程,每種進(jìn)程都有自己的特點(diǎn)和屬性。交互進(jìn)程是由一個(gè)Shell啟動(dòng)的進(jìn)程。交互進(jìn)程既可以在前臺(tái)運(yùn)行,也可以在后臺(tái)運(yùn)行。批處理進(jìn)程和終端沒有聯(lián)系,是一個(gè)進(jìn)程序列。監(jiān)控進(jìn)程(也稱系統(tǒng)守護(hù)進(jìn)程)是Linux系統(tǒng)啟動(dòng)時(shí)啟動(dòng)的進(jìn)程,并在后臺(tái)運(yùn)行。例如,httpd 是著名的Apache服務(wù)器的監(jiān)控進(jìn)程。

    kill命令的工作原理是,向
    Linux系統(tǒng)的內(nèi)核發(fā)送一個(gè)系統(tǒng)操作信號(hào)和某個(gè)程序的進(jìn)程標(biāo)識(shí)號(hào),然后系統(tǒng)內(nèi)核就可以對(duì)進(jìn)程標(biāo)識(shí)號(hào)指定的進(jìn)程進(jìn)行操作。比如在top命令中,我們看到系統(tǒng)運(yùn)行許多進(jìn)程,有時(shí)就需要使用kill中止某些進(jìn)程來提高系統(tǒng)資源。在講解安裝和登陸命令時(shí),曾提到系統(tǒng)多個(gè)虛擬控制臺(tái)的作用是當(dāng)一個(gè)程序出錯(cuò)造成系統(tǒng)死鎖時(shí),可以切換到其它虛擬控制臺(tái)工作關(guān)閉這個(gè)程序。此時(shí)使用的命令就是kill,因?yàn)閗ill是大多數(shù)Shell內(nèi)部命令可以直接調(diào)用的。

    5)應(yīng)用實(shí)例

    (1)強(qiáng)行中止(經(jīng)常使用殺掉)一個(gè)進(jìn)程標(biāo)識(shí)號(hào)為324的進(jìn)程:
    #kill -9 324

    (2)解除Linux系統(tǒng)的死鎖
    在 Linux中有時(shí)會(huì)發(fā)生這樣一種情況:一個(gè)程序崩潰,并且處于死鎖的狀態(tài)。此時(shí)一般不用重新啟動(dòng)計(jì)算機(jī),只需要中止(或者說是關(guān)閉)這個(gè)有問題的程序即可。當(dāng)kill處于X-Window界面時(shí),主要的程序(除了崩潰的程序之外)一般都已經(jīng)正常啟動(dòng)了。此時(shí)打開一個(gè)終端,在那里中止有問題的程序。比如,如果Mozilla瀏覽器程序出現(xiàn)了鎖死的情況,可以使用kill命令來中止所有包含有Mozolla瀏覽器的程序。首先用ps命令查找該程序的 PID,然后使用kill命令停止這個(gè)程序:
    #kill -SIGKILL XXX
    其中,XXX是包含有Mozolla瀏覽器的程序的進(jìn)程標(biāo)識(shí)號(hào)。

    (3)使用命令回收內(nèi)存
    我們知道內(nèi)存對(duì)于系統(tǒng)是非常重要的,回收內(nèi)存可以提高系統(tǒng)資源。kill命令可以及時(shí)地中止一些"越軌"的程序或很長(zhǎng)時(shí)間沒有相應(yīng)的程序。例如,使用top命令發(fā)現(xiàn)一個(gè)無用 (Zombie) 的進(jìn)程,此時(shí)可以使用下面命令:
    #kill -9 XXX
    其中,XXX是無用的進(jìn)程標(biāo)識(shí)號(hào)。

    然后使用下面命令:
    #free
    此時(shí)會(huì)發(fā)現(xiàn)可用內(nèi)存容量增加了。

    (4)killall命令
    Linux下還提供了一個(gè)killall命令,可以直接使用進(jìn)程的名字而不是進(jìn)程標(biāo)識(shí)號(hào),例如:
    # killall -HUP inetd

    轉(zhuǎn)載于:https://blog.51cto.com/sisisadhappy/1149218

    總結(jié)

    以上是生活随笔為你收集整理的shell中的PS命令的含义的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

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