Ⅰ 如何在linux中查看所有正在運行的進程
可以使用top命令。
top命令提供了運行中系統的動態實時視圖。在終端中輸入top:
第一行:
10:01:23
當前系統時間
126
days,
14:29
系統已經運行了126天14小時29分鍾(在這期間沒有重啟過)
2
users
當前有2個用戶登錄系統
load
average:
1.15,
1.42,
1.44
load
average後面的三個數分別是1分鍾、5分鍾、15分鍾的負載情況。
load
average數據是每隔5秒鍾檢查一次活躍的進程數,然後按特定演算法計算出的數值。如果這個數除以邏輯CPU的數量,結果高於5的時候就表明系統在超負荷運轉了。
第二行:
Tasks
任務(進程),系統現在共有183個進程,其中處於運行中的有1個,182個在休眠(sleep),stoped狀態的有0個,zombie狀態(僵屍)的有0個。
第三行:cpu狀態
6.7%
us
用戶空間佔用CPU的百分比。
0.4%
sy
內核空間佔用CPU的百分比。
0.0%
ni
改變過優先順序的進程佔用CPU的百分比
92.9%
id
空閑CPU百分比
0.0%
wa
IO等待佔用CPU的百分比
0.0%
hi
硬中斷(Hardware
IRQ)佔用CPU的百分比
0.0%
si
軟中斷(Software
Interrupts)佔用CPU的百分比
在這里CPU的使用比率和windows概念不同,如果你不理解用戶空間和內核空間,需要充充電了。
第四行:內存狀態
8306544k
total
物理內存總量(8GB)
7775876k
used
使用中的內存總量(7.7GB)
530668k
free
空閑內存總量(530M)
79236k
buffers
緩存的內存量
(79M)
第五行:swap交換分區
2031608k
total
交換區總量(2GB)
2556k
used
使用的交換區總量(2.5M)
2029052k
free
空閑交換區總量(2GB)
4231276k
cached
緩沖的交換區總量(4GB)
Ⅱ linux如何查看所有進程
1、程序保存在硬碟、光碟等介質中的可執行代碼和數據
靜態保存的代碼
2、進程在 CPU 及內存中運行的程序代碼
動態執行的代碼
父、子進程
每個進程可以創建一個或多個進程
3、ps命令——查看靜態的進程統計信息(Processes Statistic)
常見的選項:
a:顯示當前終端下的所有進程信息,包括其他用戶的進程。
u:使用以用戶為主的格式輸出進程信息。
x:顯示當前用戶在所有終端下的進程。
-e:顯示系統內的所有進程信息。
-l:使用長(long)格式顯示進程信息。
-f:使用完整的(full)格式顯示進程信息。
需要注意的是,有一部分選項是不帶「-」前綴的(添加「-」前綴後含義可能會有出入)。習慣上將上述選項組合在一起使用,如,「ps aux」或「ps -elf」
Ⅲ linux終端中如何終止所有top的進程
linux
任務管理-後台運行與終止fg、bg、jobs、&、ctrl
+
z命令一、
&加在一個命令的最後,可以把這個命令放到後台執行
,如gftp
&,二、ctrl
+
z可以將一個正在前台執行的命令放到後台,並且處於暫停狀態,不可執行
三、jobs查看當前有多少在後台運行的命令jobs
-l選項可顯示所有任務的PID,jobs的狀態可以是running,
stopped,
Terminated,但是如果任務被終止了(kill),shell
從當前的shell環境已知的列表中刪除任務的進程標識;也就是說,jobs命令顯示的是當前shell環境中所起的後台正在運行或者被掛起的任務信息;四、fg將後台中的命令調至前台繼續運行如果後台中有多個命令,可以用
fg
%jobnumber將選中的命令調出,%jobnumber是通過jobs命令查到的後台正在執行的命令的序號(不是pid)五、bg將一個在後台暫停的命令,變成繼續執行
(在後台執行)如果後台中有多個命令,可以用bg
%jobnumber將選中的命令調出,%jobnumber是通過jobs命令查到的後台正在執行的命令的序號(不是pid)將任務轉移到後台運行:先ctrl
+
z;再bg,這樣進程就被移到後台運行,終端還能繼續接受命令。概念:當前任務如果後台的任務號有2個,[1],[2];如果當第一個後台任務順利執行完畢,第二個後台任務還在執行中時,當前任務便會自動變成後台任務號碼「[2]」
的後台任務。所以可以得出一點,即當前任務是會變動的。當用戶輸入「fg」、「bg」和「stop」等命令時,如果不加任何引號,則所變動的均是當前任務進程的終止後台進程的終止:方法一:通過jobs命令查看job號(假設為num),然後執行kill
%num方法二:通過ps命令查看job的進程號(PID,假設為pid),然後執行kill
pid前台進程的終止:ctrl+ckill的其他作用kill除了可以終止進程,還能給進程發送其它信號,使用kill
-l
可以察看kill支持的信號。SIGTERM是不帶參數時kill發送的信號,意思是要進程終止運行,但執行與否還得看進程是否支持。如果進程還沒有終止,可以使用kill
-SIGKILL
pid,這是由內核來終止進程,進程不能監聽這個信號。進程的掛起後台進程的掛起:在solaris中通過stop命令執行,通過jobs命令查看job號(假設為num),然後執行stop
%num;在redhat中,不存在stop命令,可通過執行命令kill
-stop
PID,將進程掛起;當要重新執行當前被掛起的任務時,通過bg
%num
即可將掛起的job的狀態由stopped改為running,仍在後台執行;當需要改為在前台執行時,執行命令fg
%num即可;前台進程的掛起:ctrl+Z;
Ⅳ Linux裡面殺掉進程命令是什麼
方法一: Terminal終端輸入: gnome-system-monitor,就可以打開system monitor
如圖:
然後找到相應進程,右擊選擇kill process就可以了
方法二: 通過kill 進程id的方式可以實現,
首先需要知道進程id, 例如,想要殺死firefox的進程,通過 ps -ef|grep firefox,可以查到firefox的進程id:
然後通過 kill 3781 就可以關閉進程了.
補充: 1. kill -9 來強制終止退出, 例如: kill -9 3781
2.特殊用法:
kill -STOP [pid]
發送SIGSTOP (17,19,23)停止一個進程,而並不消滅這個進程。
kill -CONT [pid]
發送SIGCONT (19,18,25)重新開始一個停止的進程。
kill -KILL [pid]
發送SIGKILL (9)強迫進程立即停止,並且不實施清理操作。
kill -9 -1
終止你擁有的全部進程。
方法三: killall 通過程序的名字,來殺死進程
例如: killall firefox
注意: 該命令可以使用 -9 參數來強制殺死進程, killall -9 firefox
方法四: pkill 通過程序的名字, 直接殺死所有進程
例如: pkill firefox
方法五: 通過xkill 可以殺死圖形程序應用, 例如firefox崩潰無響應,可以使用該命令.
例如: 用法xkill , 會出現一個白色的x, 然後用滑鼠單擊想要殺死的應用,如圖
以下內容引用自: http://justcoding.iteye.com/blog/1931347
◆編者註:
KILLALL(Section: User (1)/Updated: 1999年9月7日)
———————————————–
NAME (名稱)
killall – 以名字方式來殺死進程
SYNOPSIS (總覽)
killall [-egiqvw] [-signal] name …
killall -l
killall -V
DESCRIPTION (描述)
killall 發送一條信號給所有運行任意指定命令的進程. 如果沒有指定信號名, 則發送SIGTERM.。
信號可以以名字 (如 -HUP ) 或者數字 (如 -1 ) 的方式指定. 信號 0 (檢查進程是否存在)只能以數字方式指定。
如果命令名包括斜杠 (/), 那麼執行該特定文件的進程將被殺掉, 這與進程名無關。
如果對於所列命令無進程可殺, 那麼 killall 會返回非零值. 如果對於每條命令至少殺死了一個進程, killall 返回 0。Killall 進程決不會殺死自己 (但是可以殺死其它 killall 進程)。
OPTIONS (選項)
-e
對 於很長的名字, 要求准確匹配. 如果一個命令名長於 15 個字元, 則可能不能用整個名字 (溢出了). 在這種情況下, killall 會殺死所有匹配名字前 15 個字元的所有進程. 有了 -e 選項,這樣的記錄將忽略. 如果同時指定了 -v 選項, killall 會針對每個忽略的記錄列印一條消息。
-g
殺死屬於該進程組的進程. kill 信號給每個組只發送一次, 即使同一進程組中包含多個進程。
-i
交互方式,在殺死進程之前徵求確認信息。
-l
列出所有已知的信號名。
-q
如果沒有進程殺死, 不會提出抱怨。
-v
報告信號是否成功發送。
-V
顯示版本信息。
-w
等待所有殺的進程死去. killall 會每秒檢查一次是否任何被殺的進程仍然存在, 僅當都死光後才返回. 注意: 如果信號被忽略或沒有起作用, 或者進程停留在僵屍狀態, killall 可能會永久等待。
FILES(相關文件)
/proc proc文件系統的存在位置。
KNOWN bugS (已知 BUGS)
以文件方式殺死只對那些在執行時一直打開的可執行文件起作用, 也即, 混雜的可執行文件不能夠通過這種方式殺死。
要警告的是輸入 killall name 可能不會在非 Linux 系統上產生預期的效果, 特別是特權用戶執行時要小心。
在兩次掃描的間隙, 如果進程消失了而被代之以一個有同樣 PID 的新進程, killall -w 偵測不到。
來源:http://www.ubuntuhome.com/ubuntu-kill-command.html
下面來了解相關命令:
一、查看進程的命令 有ps、pstree、pgrep等:
1、ps
顯示進程信息,參數可省略
-aux 以BSD風格顯示進程 常用
-efH 以System V風格顯示進程
-e , -A 顯示所有進程
a 顯示終端上所有用戶的進程
x 顯示無終端進程
u 顯示詳細信息
f 樹狀顯示
w 完整顯示信息
l 顯示長列表
在終端中執行ps aux,
各列輸出欄位的含義:
USER 進程所有者
PID 進程ID
PPID 父進程
%CPU CPU佔用率
%MEM 內存佔用率
NI 進程優先順序。數值越大,佔用CPU時間越少
VSZ 進程虛擬大小
RSS 頁面文件佔用
TTY 終端ID
STAT 進程狀態
+---D 不可中斷 Uninterruptible sleep (usually IO)
+---R 正在運行,或在隊列中的進程
+---S 處於休眠狀態
+---T 停止或被追蹤
+---Z 僵屍進程
+---W 進入內存交換(從內核2.6開始無效)
+---X 死掉的進程
+---< 高優先順序
+---N 低優先順序
+---L 有些頁被鎖進內存
+---s 包含子進程
+---+ 位於後台的進程組;
+---l 多線程,克隆線程 multi-threaded (using CLONE_THREAD, like NPTL pthreads do)
PID:進程標識符,系統為每一個進程分配一個識別碼,稱為PID。
ps命令極為常用,其他命令還有:
2.pstree
樹狀顯示進程信息
-a 顯示完整命令及參數
-c 重復進程分別顯示
-c 顯示進程ID PID
-n 按 PID 排列進程
3.pgrep <進程名>
顯示進程的PID
-l 顯示進程名和進程PID
-o 進程起始ID
-n 進程終止ID
二、結束進程的命令 有kill、pkill、killall、xkill等:
kill [信號代碼] <進程PID>
根據PID向進程發送信號,常用來結束進程,默認信號為 -9
信號代碼,可取值如下:
-l [信號數字] 顯示、翻譯信號代碼
-9 , -KILL 發送 kill 信號退出
-6 , -ABRT 發送 abort 信號退出
-15 , -TERM 發送 Termination 信號
-1 , -HUP 掛起
-2 , -INT 從鍵盤中斷,相當於 Ctrl+c
-3 , -QUIT 從鍵盤退出,相當於 Ctrl+d
-4 , -ILL 非法指令
-11 , -SEGV 內存錯誤
-13 , -PIPE 破壞管道
-14 , -ALRM
-STOP 停止進程,但不結束
-CONT 繼續運行已停止的進程
-9 -1 結束當前用戶的所有進程
pkill <進程名>
結束進程族。如果結束單個進程,請用 kill
killall <進程名>
killall和pkill 應用方法差不多,也是直接殺死運行中的程序;如果您想殺掉單個進程,請用kill 來殺掉。
xkill
在圖形界面中點殺進程。
當xkill運行時滑鼠指針變為骷髏圖案,哪個圖形程序崩潰一點就OK了。如果您想終止xkill ,就按右鍵取消。
比如當firefox 出現崩潰不能退出時,點滑鼠就能殺死firefox 。
xkill 調用方法:
[root@localhost ~]# xkill
來源: http://www.cnblogs.com/1024-wusuopuBUPT/archive/2012/02/16/2354132.html
linux中pkill的簡單用法
pkill 和killall 應用方法差不多,也是直接殺死運行中的程序;如果您想殺掉單個進程,請用kill 來殺掉。
必要參數
-f 顯示完整程序
-l 顯示源代碼
-n 顯示新程序
-o 顯示舊程序
-v 與條件不符合的程序
-x 與條件符合的程序
選擇參數
-p<進程號> 列出父進程為用戶指定進程的進程信息
-t<終端> 指定終端下的所有程序
-u<用戶> 指定用戶的程序
應用方法:
#pkill 正在運行的程序名
舉例:
Java代碼
[root@localhost beinan]# pgrep -l gaim
2979 gaim
[root@localhost beinan]# pkill gaim
也就是說:
kill 對應的是 PID
pkill 對應的是COMMAND
例如在Ubuntu中強制結束一個已成僵屍的名稱為:firefox,PID為:1603的進程,可以如下操作:
方法一:
(1)ctrl+alt+t,調出終端,輸入 top,然後就可以看到現在系統的進程,是按佔用資源從多到少排列的。
找到要關掉的進程,記下該進程第一列的數字編號(假設是xx),然後輸入q,退回終端。
(2)輸入:sudo kill xx(對應剛才的編號)。
方法二:
ctrl+alt+t,調出終端,輸入:sudo pkill firefox
範例1: 殺死指定進程
Java代碼
root@snail-hnlinux:~# ps -A //顯示所有進程
PID TTY TIME CMD
1 ? 00:00:03 init
2 ? 00:00:00 kthreadd
3 ? 00:00:00 migration/0
4 ? 00:00:00 ksoftirqd/0
5 ? 00:00:00 watchdog/0
……忽略部分
28382 ? 00:00:00 gvfsd-http
28391 ? 00:07:07 software-center
30467 ? 00:00:31 designer-qt4
30487 ? 00:00:06 gnome-terminal
30488 ? 00:00:00 gnome-pty-helpe
30489 pts/0 00:00:00 bash
30670 ? 00:00:00 debconf-communi
30749 pts/0 00:00:17 gedit
31155 ? 00:00:00 dhclient
31325 ? 00:00:01 sshd
31327 ? 00:00:00 sshd
31400 pts/1 00:00:00 bash
31485 pts/2 00:00:00 bash
3 ? 00:00:00 aptd
31658 pts/1 00:00:00 ps
root@snail-hnlinux:~# pidof sshd //查看與sshd相關進程
31327 31325 2095
root@snail-hnlinux:~# pkill -9 sshd //殺死指定進程
範例2:殺死同義終端下的進程
Java代碼
root@snail-hnlinux:~# pkill -t tty1 //殺死終端1下的所有進程
範例3: 殺死指定用戶進程
Java代碼
root@snail-hnlinux:~# pkill -u hnlinux
範例4:反向選擇
Java代碼
root@snail-hnlinux:~# pkill -vu hnlinux //殺死不屬於hnlinux用戶的所有進程
————————————————
版權聲明:本文為CSDN博主「MrCoderr」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/coderder/article/details/78899823
Ⅳ 如何在後台啟動Linux命令和在終端分離進程
在後台運行 Linux 命令
你可以通過輸入 jobs 查看所有的後台任務。但是,標准輸入(STDIN)、標准輸出(STDOUT)和標准錯誤(STDERR)依舊摻雜到控制台中。
$ tar -czf home.tar.gz .
$ bg
$ jobs
在後台開始一個 Linux 進程
你也可以直接使用符號 & 在後台運行一個進程:
$ tar -czf home.tar.gz . &
$ jobs
運行在後台的 Linux 進程信息
看一下下面的這個例子,雖然 tar 命令是作為一個後台任務開始的,但是錯誤信息依舊發送到終端,這表示,進程依舊和控制終端關聯在一起。
$ tar -czf home.tar.gz . &
$ jobs
退出控制台之後,保持 Linux 進程的運行
我們將使用 disown 命令,它在一個進程已經運行並且被放在後台之後使用,它的作用是從 shell 的活動任務列表中移走一個 shell 任務,因此,對於該任務,你將再也不能使用 fg 、 bg 命令了。而且,當你關閉控制控制終端,這個任務將不會掛起(暫停)或者向任何一個子任務發送 SIGHUP 信號。
關閉終端之後,保持 Linux 進程運行
讓我們看一下先下面的這個使用 bash 中內置命令 disown的例子。
$ sudo rsync Templates/* /var/www/html/files/ &
$ jobs
$ disown -h %1
$ jobs
關閉 shell 之後把 Linux 進程置於後台
你也可以使用 nohup 命令,這個命令也可以在用戶退出 shell 之後保證進程在後台繼續運行。
$ nohup tar -czf iso.tar.gz Templates/* &
$ jobs
從控制終端脫離一個 Linux 進程
為了徹底從控制終端脫離一個程序,對於圖形用戶界面 (GUI) 的程序例如 firefox 來說,使用下面的命令行格式會更有效:
$ firefox </dev/null &>/dev/null &
在 Linux 上,/dev/null 是一個特殊的文件設備,它會忽略所有的寫在它上面的數據,上述命令,輸入來源和輸出發送目標都是 /dev/null。
作為結束陳述,運行一個連接到控制終端的進程,作為用戶你將會在你的終端上看到這個進程數據的許多行的輸出,也包含錯誤信息。同樣,當你關閉一個控制終端,你的進程和子進程都將會終止。
Ⅵ linux中的進程與終端有什麼關系
有一定的聯系。進程就是正在執行的程序,每個服務都有自己的進程,看看windows任務管理器里的進程就知道了。假如非得說終端與進程有關系的話,那就是終端要運行的話,必須有進程
。但進程運行的話,是否有用到終端這個問題需要討論,考慮過這個問題,但還沒解決。我們都知道ps
命令
是可以查看進程的,其中ps
查看的結果里有tty這么一個顯示欄位,它代表的就是終端的意思,因此說,他們是有一定的聯系的,用終端來區分前台進程與後台進程,還有就是有些用戶登錄不同的控制台執行命令,使用的也是不同的終端,至於其他就不是很清楚了。
Ⅶ linux中查看系統當前所有進程的命令是
ps aux為查看系統當前所有進程命令。
工具/原料
VMware Linux 電腦
方法/步驟
1、打開VMware虛擬機,打開終端命令行,通過」su「命令切換到root用戶下。
Ⅷ linux 下查看進程用什麼命令
linux 下查看進程可以使用的命令:
1、ps命令查找與進程相關的PID號:
2、ps a 顯示現行終端機下的所有程序,包括其他用戶的程序。
3、ps -A 顯示所有程序。
4、ps c 列出程序時,顯示每個程序真正的指令名稱,而不包含路徑,參數或常駐服務的標示。
5、ps -e 此參數的效果和指定"A"參數相同。
6、ps e 列出程序時,顯示每個程序所使用的環境變數。
7、ps f 用ASCII字元顯示樹狀結構,表達程序間的相互關系。
8、ps -H 顯示樹狀結構,表示程序間的相互關系。
9、ps -N 顯示所有的程序,除了執行ps指令終端機下的程序之外。
10、ps s 採用程序信號的格式顯示程序狀況。
11、ps S 列出程序時,包括已中斷的子程序資料。
12、ps -t<終端機編號> 指定終端機編號,並列出屬於該終端機的程序的狀況。
13、ps u 以用戶為主的格式來顯示程序狀況。
14、ps x 顯示所有程序,不以終端機來區分。
Ⅸ 如何在linux中查看所有正在運行的進程
可以使用ps命令; 它能顯示當前運行中進程的相關信息,包括進程的PID。Linux和UNIX都支持ps命令,顯示所有運行中進程的相關信息。ps命令能提供一份當前進程的快照。如果你想狀態可以自動刷新,可以使用top命令。具體如下:ps命令輸入下面的ps命令,顯示所有運行中的進程:# ps aux | less其中,-A:顯示所有進程a:顯示終端中包括其它用戶的所有進程x:顯示無控制終端的進程任務:查看系統中的每個進程。# ps -A# ps -e任務:查看非root運行的進程# ps -U root -u root -N任務:查看用戶vivek運行的進程# ps -u vivek任務:top命令top命令提供了運行中系統的動態實時視圖。在命令提示行中輸入top:# top輸出:
Ⅹ linux中的進程與終端有什麼關系
沒有關系
進程就是正在運行的程序
終端就是控制台,就像windows的命令提示符(CMD)一樣,就是一個工具而已。