日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

shell中的PS命令的含义

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

1.ps查看進程的命令。

2.PS命令中的%CPU是指一個進程占用CPU的時間百分比。

PS的man手冊的解釋是這樣的

?

ps的代碼中是這樣處理的

?

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

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

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),難免遇到一些軟件"卡殼"的問題,這時就需要使用linux下強大的kill命令來結束相關進程。這在linux系統(tǒng)下是極其容易的事情,你只需要kill xxx即可,這里xxx代表與此軟件運行相關的進程PID號。

首先,我們需要使用linux下另外一個
ps命令查找與進程相關的PID號:ps aux | grep program_filter_word

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

    其次,
    使用kill命令結束進程:kill xxx

    1)作用

    kill命令用來中止一個進程。

    2)格式

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

    3)參數(shù)

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

    4)說明

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

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

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

    5)應用實例

    (1)強行中止(經(jīng)常使用殺掉)一個進程標識號為324的進程:
    #kill -9 324

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

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

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

    (4)killall命令
    Linux下還提供了一個killall命令,可以直接使用進程的名字而不是進程標識號,例如:
    # killall -HUP inetd

    轉載于:https://blog.51cto.com/sisisadhappy/1149218

    總結

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

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