查看linux進程佔用埠步驟如下:
lsof -i 用以顯示符合條件的進程情況,lsof(list open files)是一個列出當前系統打開文件的工具。以root用戶來執行lsof -i命令,如下圖
2. Linux下怎樣檢測進程是否異常
#include <sys/io.h>
#include <sys/ipc.h>
#include <sys/timeb.h>
#include <sys/shm.h>
#include <sys/sem.h>
#include <sys/sysinfo.h>
#include <stdio.h>
#include <string.h>
#include <sys/ioctl.h>
#include <sys/time.h>
#include <fcntl.h>
#include <unistd.h>
#include <stdlib.h>
#include <errno.h>
#include <time.h>
#include <sys/ipc.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <sys/msg.h>
void CheckPid(void)
{
pid_t termpid;
int flags;
termpid = waitpid(-1,&flags,WNOHANG);
if (termpid>0)
{
msglog.code = LOG_MSG_OTHER;
if(WIFEXITED(&flags))
{
printf("pid=%d的子進程正常結束,返回信息=%d,結束狀態=%d\n",termpid,flags,WEXITSTATUS(&flags));
}
else if(WIFSIGNALED(&flags))
{
printf("pid=%d的子進程異常終止,返回信息=%d,終止進程的信號的編號=%d\n",termpid,flags,WTERMSIG(&flags));
}
else if(WIFSTOPPED(&flags))
{
printf("pid=%d的子進程暫停,返回信息=%d,暫停進程的信號的編號=%d\n",termpid,flags,WSTOPSIG(&flags));
}
else
{
printf_d(cur_dep,SYS_PID_DSC_OUTTYPE,"pid=%d的子進程退出",termpid);
}
}
}
其中「返回信息」flags的返回值有幾種情況,如段錯誤、正常終止、 被信號終斷等3. linux如何查看埠被哪個進程佔用
使用命令:
ps -aux | grep tomcat
發現並沒有8080埠的Tomcat進程。
使用命令:netstat –apn
查看所有的進程和埠使用情況。發現下面的進程列表,其中最後一欄是PID/Program name
發現8080埠被PID為9658的Java進程佔用。
進一步使用命令:ps -aux | grep java,或者直接:ps -aux | grep pid 查看
就可以明確知道8080埠是被哪個程序佔用了!然後判斷是否使用KILL命令幹掉!
4. linux下怎麼判斷網卡異常網卡狀態
linux查看網路鏈接狀況命令 netstat 參數如下: -a 顯示所有socket,包括正在監聽的。 -c 每隔1秒就重新顯示一遍,直到用戶中斷它。 -i 顯示所有網路介面的信息,格式同「ifconfig -e」。 -n 以網路IP地址代替名稱,顯示出網路連接情形。
5. Linux下怎樣檢測進程是否異常
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:6. linux如何查看埠被哪個進程佔用
網路程序調試程經發些乎意料事情比創建TCP服務失敗候往往需要查看系統網路情況用網路抓包非WireShark模式往往候需要查看某埠使用情況底進程(應PID)佔用或者需要Kill掉Windows操作系統使用netstat命令查詢PID打任務管理器查看PID應進程名;PID沒顯示菜單》查看》選擇列》選PID即;知進程我進程殺掉面我簡單描述我所解WindowsLinux系統處理式 (假我需要確定誰佔用我9010埠)1、Windows平台
windows控制台窗口執行:
netstat -nao | findstr 9010
TCP 127.0.0.1:9010 0.0.0.0:0 LISTENING 3017
看PID3017進程佔用9010埠進步想知道進程名稱使用命令:
tasklist | findstr 3017
想殺死進程用前面描述種任務管理器KILL喜歡高效點用taskkill命令
taskkill /pid 3017
進程灰灰湮滅:)2、Linux
Linux者命令應該熟
netstat -pan | grep 9010
稍微仔細點發現用都netsta命令事實netstat比較通用網路統計命令幾乎適用於所現流行操作系統論LinuxWindow其Unix或者Unix-like操作系統且用基本致
面Windows系統netstat命令行參數詳細解釋格式:netstat [-a] [-e] [-n] [-o] [-p Protocol] [-b] [-r] [-s] [-v] [Interval]參數說明:-a 顯示所連接監聽埠
-n 數字形式顯示址埠號
-o 顯示與每連接相關所屬進程 ID
-p Windows系統該選項用於指定默認情況集proto 顯示 proto 指定協議連接;proto 列協議: TCP、UDP、TCPv6 或 UDPv6
與 -s 選項起使用顯示按協議統計信息proto 列協議:
IP、IPv6、ICMP、ICMPv6、TCP、TCPv6、UDP 或 UDPv6
-b 顯示包含於創建每連接或監聽埠執行組件某些情況已知執行組件擁獨立組件並且些情況; 包含於創建連接或監聽埠組件序列顯示種情況執行組件名底部 [] 頂部其調用組件等等直 TCP/IP 部注意選項
能需要間沒足夠許可權能失敗
-e 顯示太網統計信息選項與 -s選項組合使用
-s 顯示按協議統計信息默認顯示 IP、IPv6、ICMP、ICMPv6、TCP、TCPv6、UDP UDPv6 統計信息
-r 顯示路由表
-v 與 -b 選項起使用顯示包含於所執行組件創建連接或監聽埠組件
interval 重新顯示選定統計信息每顯示間暫停間間隔(秒計)按 CTRL+C 停止重新顯示統計信息省略netstat 顯示前
配置信息(顯示)
O7. linux 如何檢測網路狀況
linux查看網路鏈接狀況命令
netstat 參數如下:
-a
顯示所有socket,包括正在監聽的。
-c 每隔1秒就重新顯示一遍,直到用戶中斷它。
-i 顯示所有網路介面的信息,格式同「ifconfig -e」。
-n 以網路IP地址代替名稱,顯示出網路連接情形。
-r 顯示核心路由表,格式同「route -e」。
-t 顯示TCP協議的連接情況。
-u 顯示UDP協議的連接情況。
-v 顯示正在進行的工作。
1. netstat -an | grep LISTEN
0.0.0.0的就是每個IP都有的服務,寫明哪個IP的就是綁定那個IP的服務。
2. netstat -tln
用來查看linux的埠使用情況
3. /etc/init.d/vsftp start
是用來啟動ftp埠~!
4. netstat
查看已經連接的服務埠(ESTABLISHED)
5. netstat -a
查看所有的服務埠(LISTEN,ESTABLISHED)
6. sudo netstat -ap
查看所有的服務埠並顯示對應的服務程序名
7. nmap <掃描類型><掃描參數>
例如:
nmap localhost
nmap -p 1024-65535 localhost
nmap -PT 192.168.1.127-245
當我們使用netstat
-apn查看網路連接的時候,會發現很多類似下面的內容:
Proto Recv-Q Send-Q Local Address
Foreign Address State PID/Program name
tcp 0 52 218.104.81.152:7710
211.100.39.250:29488 ESTABLISHED 6111/1
顯示這台伺服器開放了7710埠,那麼這個埠屬於哪個程序呢?
我們可以使用lsof -i :7710命令來查詢:
COMMAND PID USER FD TYPE DEVICE SIZE
NODE NAME
sshd 1990 root 3u IPv4 4836 TCP *:7710
(LISTEN) 54com.cn
這樣,我們就知道了7710埠是屬於sshd程序的。8. linux中怎樣查看佔用8080埠的進程
1,使用lsof命令,使用IPv4協議的區域網:執行命令: lsof -Pnl +M -i4|grep 8080
輸出結果: java 1419 1401 IPv4 6793357
2,先使用netstat命令,再用 ps命令。
執行命令:netstat -anp|grep 8080
輸出結果:tcp 0 0 :::8080執行命令: ps -ef | grep 12006輸出結果: root 12886 12851 0 Dec09 /home/bjca/bea/jdk160_05/bin/java -client -Xms256m -Xmx512m -XX:CompileThreshold=8000 -XX:PermSize=48m -XX:MaxPermSize=128m......
9. 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:請求常駐內存多少