linux進程
① linux中怎麼查看進程程序
1.查進程
ps命令查找與進程相關的PID號:
ps a 顯示現行終端機下的所有程序,包括其他用戶的程序。
ps -A 顯示所有程序。
ps c 列出程序時,顯示每個程序真正的指令名稱,而不包含路徑,參數或常駐服務的標示。
ps -e 此參數的效果和指定"A"參數相同。
ps e 列出程序時,顯示每個程序所使用的環境變數。
ps f 用ASCII字元顯示樹狀結構,表達程序間的相互關系。
ps -H 顯示樹狀結構,表示程序間的相互關系。
ps -N 顯示所有的程序,除了執行ps指令終端機下的程序之外。
ps s 採用程序信號的格式顯示程序狀況。
ps S 列出程序時,包括已中斷的子程序資料。
ps -t<終端機編號> 指定終端機編號,並列出屬於該終端機的程序的狀況。
ps u 以用戶為主的格式來顯示程序狀況。
ps x 顯示所有程序,不以終端機來區分。
最常用的方法是ps aux,然後再通過管道使用grep命令過濾查找特定的進程,然後再對特定的進程進行操作。
② 怎麼在linux進程怎麼關閉進程
啟動一個進程
1
先啟動一個進程作為測試使用
END
查看啟動的進程
1
可以使用以面命令來查看
ps -ef |grep tomcat
2
tomcat它是一個java進程,所以查找Java進程也可查找出來
ps -ef|grep java
3
可以看到
用戶 和進程編號
可以用kill 進程編號結束進程
END
結束進程
不所有進程都可以
kill+進程編號結束掉
對於結束不掉的進程可以使用:
kill -s 9 進程編號
強制結束
2
一般情況下只需要
kill 進程編號就可結束
③ linux 怎麼查看指定的進程
1、首先需要打開linux客戶端進入軟體主界面。
④ linux查看進程命令
1、首先打開xshell軟體,連接上linux伺服器,使用指令ps查看系統進程,參數a表示全部,u表示以用戶格式顯示,x表示進程參數。
⑤ 怎麼查看linux進程名稱
1、連接上相應的linux主機,進入到等待輸入shell指令的linux命令行狀態下。
⑥ linux查看進程的方法有幾種
linux查看進程方法:
1. top 命令
top命令查看系統的資源狀況
load average表示在過去的一段時間內有多少個進程企圖獨佔CPU
zombie 進程
:不是異常情況。一個進程從創建到結束在最後那一段時間遍是僵屍。留在內存中等待父進程取的東西便是僵屍。任何程序都有僵屍狀態,它佔用一點內存資源,僅
僅是表象而已不必害怕。如果程序有問題有機會遇見,解決大批量僵屍簡單有效的辦法是重起。kill是無任何效果的stop模式:與sleep進程應區
別,sleep會主動放棄cpu,而stop是被動放棄cpu ,例單步跟蹤,stop(暫停)的進程是無法自己回到運行狀態的。
cpu states:
nice:讓出百分比irq:中斷處理佔用
idle:空間佔用百分比 iowait:輸入輸出等待(如果它很大說明外存有瓶頸,需要升級硬碟(SCSI))
Mem:內存情況
設計思想:把資源省下來不用便是浪費,如添加內存後free值會不變,buff值會增大。 判斷物理內存夠不夠,看交換分區的使用狀態。
交互命令:
[Space]立即刷新顯示
[h]顯示幫助屏幕
[k] 殺死某進程。你會被提示輸入進程 ID 以及要發送給它的信號。 一般的終止進程可以使用15信號;如果不能正常結束那就使用信號9強制結束該進程。默認值是信號15。在安全模式中此命令被屏蔽。
[n] 改變顯示的進程數量。你會被提示輸入數量。
[u] 按用戶排序。
[M] 按內存用量排序。
[o][O] 改變顯示項目的順序。
[P] 根據CPU使用百分比大小進行排序。
[T] 根據時間/累計時間進行排序。
[Ctrl+L] 擦除並且重寫屏幕。
[q] 退出程序。
[r] 重新安排一個進程的優先順序別。系統提示用戶輸入需要改變的進程PID以及需要設置的進程優先順序值。輸入一個正值將使優先順序降低,反之則可以使該進程擁有更高的優先權。默認值是10。
[S] 切換到累計模式。
[s] 改變兩次刷新之間的延遲時間。系統將提示用戶輸入新的時間,單位為s。如果有小數,就換算成m
s。輸入0值則系統將不斷刷新,默認值是5
s。需要注意的是如果設置太小的時間,很可能會引起不斷刷新,從而根本來不及看清顯示的情況,而且系統負載也會大大增加。
縮寫含義:
PID每個進程的ID
USER進程所有者的用戶名
PRI每個進程的優先順序別
NI每個優先順序的值
SIZE 進程的代碼大小加上數據大小再加上堆棧空間大小的總數,單位是KB RSS 進程佔用的物理內存的總數量,單位是KB
SHARE進程使用共享內存的數量
STAT 進程的狀態。其中S代表休眠狀態;D代表不可中斷的休眠狀態;R代表運行狀態;Z代表僵死狀態;T代錶停止或跟蹤狀態
%CPU進程自最近一次刷新以來所佔用的CPU時間和總時間的百分比
%MEM進程佔用的物理內存占總內存的百分比
TIME進程自啟動以來所佔用的總CPU時間
CPU CPU標識
COMMAND進程的命令名稱
2. ps命令
ps查看當前用戶的活動進程,如果加上參數可以顯示更多的信息,如-a,顯示所有用戶的進程
ps ax :tty值為「?」是守護進程,叫deamon 無終端,大多系統服務是此進程,內核態進程是看不到的
ps axf :看進程樹,以樹形方式現實進程列表敲 ,init是1號進程,系統所有進程都是它派生的,殺不掉
ps axm :會把線程列出來。在linux下進程和線程是統一的,是輕量級進程的兩種方式。
ps axu :顯示進程的詳細狀態。
vsz:說此進程一共佔用了多大物理內存。
rss:請求常駐內存多少
⑦ linux 查看進程具體做什麼用
ps -aux toppstree
名稱:ps
使用許可權:所有使用者
使用方式:ps [options] [--help]
說明:顯示瞬間行程 (process) 的動態
參數:ps的參數非常多, 在此僅列出幾個常用的參數並大略介紹含義
-A 列出所有的進程
-w 顯示加寬可以顯示較多的資訊
-au 顯示較詳細的資訊
-aux 顯示所有包含其他使用者的行程
更多詳情請參考Linux就該這么學這本書或者到官方網站Linuxprobe 。c o m,去了解更多。
⑧ linux進程的幾種狀態
1. 運行(正在運行或在運行隊列中等待)
2. 中斷(休眠中, 受阻, 在等待某個條件的形成或接受到信號)
3. 不可中斷(收到信號不喚醒和不可運行, 進程必須等待直到有中斷發生)
4. 僵死(進程已終止, 但進程描述符存在, 直到父進程調用wait4()系統調用後釋放)
5. 停止(進程收到SIGSTOP, SIGSTP, SIGTIN, SIGTOU信號後停止運行運行)
⑨ linux什麼是進程
您好,方法
linux是一個多用戶多任務的操作系統,多用戶是指多個用戶可以在同一個時間用計算機,多任務是指linux可以同時執行那個多個任務,它可以在還未執行完一個任務時又執行另一個任務。
每當運行一個任務時,系統就會啟動一個進程,進程是一個程序在其自身的虛擬地址空間中的一次執行活動,之所以要創建進程,就是為了使多個程序可以並發的執行。從而提高系統的資源利用率和吞吐量。
程序只是一個靜態的指令集合,兒進程是一個程序的動態執行過程,它具有生命期,是動態的產生和消亡的。
方法2
1、進程是資源申請,調度和獨立運行的單位,它使用系統中的運行資源,而程序不能申請系統資源,不能被系統調度,也不能作為獨立運行的單位,它不佔用系統的運行資源,
2、進程和程序無意義對應的關系,一方面一個程序可以由多個進程公用,即一個程序在運行過程中可以產生多個進程,另一個方面,一個進程在生命期內可以順序的執行若干個程序。
3、在linux系統中總是又很多的進程同時運行,系統根據進程號pid區分不同的進程,系統啟動後的第一個進程是init,它的pid是1,init是唯一一個由系統內核直接運行的進程。
4、新的進程可以用系統調用fork()來產生,就是從一個已經存在的舊進程中分出一個新進程來,舊進程就是新進程的父進程。
⑩ linux正常進程數是多少.
不同發行版是不同的,而且同一發行版的不同安裝(工作站、伺服器、自定義等)默認啟動的進程數也是不同的。
linux 系統中單個進程的最大線程數有其最大的限制 PTHREAD_THREADS_MAX
這個限制可以在 /usr/include/bits/local_lim.h 中查看
對 linuxthreads 這個值一般是 1024,對於 nptl 則沒有硬性的限制,僅僅受限於系統的資源。
這個系統的資源主要就是線程的 stack 所佔用的內存,用 ulimit -s 可以查看默認的線程棧大小,一般情況下,這個值是 8M。
可以寫一段簡單的代碼驗證最多可以創建多少個線程。
試驗顯示,在 linuxthreads 上最多可以創建 381 個線程,之後就會返回 EAGAIN
在 nptl 上最多可以創建 382 個線程,之後就會返回 ENOMEM
這個值和理論完全相符,因為 32 位 linux 下的進程用戶空間是 3G 的大小,也就是 3072M,用 3072M 除以 8M 得 384,但是實際上代碼段和數據段等還要佔用一些空間,這個值應該向下取整到 383,再減去主線程,得到 382。
那為什麼 linuxthreads 上還要少一個線程呢?這可太對了,因為 linuxthreads 還需要一個管理線程。
為了突破內存的限制,可以有兩種方法:
1) 用 ulimit -s 1024 減小默認的棧大小
2) 調用 pthread_create 的時候用 pthread_attr_getstacksize 設置一個較小的棧大小
要注意的是,即使這樣的也無法突破 1024 個線程的硬限制,除非重新編譯 C 庫<=此處值得討論,我在ubuntu 7.04+3G內存上用ulimit -s 1024,則可以得到3054個線程。