埠號和程序號的查詢與殺死

2021-10-23 07:24:54 字數 2975 閱讀 5869

ps aux和grep的使用查詢程序

root@ubuntu:/opt/emqx#ps aux|grep emqx

root 8386 0.0 0.0 21292 936 pts/3 s+ 11:11 0:00 grep --color=auto emqx

啟動emq,結果報錯

2020-05-22 11:06:54.126 [error] mqtt:tcp failed to listen on 1883 - eaddrinuse (address already in use)

2020-05-22 11:06:54.127 [error] [bridge connect] failed to connect with module=emqx_bridge_mqtt

原因是1883埠被占用,那麼把占用1883的程序殺掉就行了

埠號查詢:netstat |grep 埠號

1、

root@ubuntu:/opt/emqx# netstat |grep 1883

tcp 0 1 192.168.205.128:52420 192.168.3.109:1883 syn_sent

tcp 0 0 localhost:1883 localhost:37251 time_wait

可以看到有程序在使用1883埠,但是檢視不到具體pid

2、lsof -i:埠號

root@ubuntu:/opt/emqx# lsof -i:1883

command pid user fd type device size/off node name

mosquitto 936 mosquitto 4u ipv4 27170 0t0 tcp *:1883 (listen)

mosquitto 936 mosquitto 5u ipv6 27171 0t0 tcp *:1883 (listen)

mosquitto 936 mosquitto 6u ipv4 48420 0t0 tcp 192.168.205.128:52422->192.168.3.109:1883 (syn_sent)

可以看到936這個程序在使用1883埠,一般來說mosquitto預設使用的埠號就是1883.

之後kill掉mosquitto這個程序就好了

殺死程序方式: kill 或者 kill -9

root@ubuntu:/opt/emqx# kill -9 936
然後emqx程式就可以正常啟動了

>給自己做下筆記

DOS命令檢視程序埠號和殺死程序

這篇講如何檢視程式占用的埠,如何通過程序名字殺死程序和通過程序埠號殺死程序 一 檢視所有程序占用的埠 在開始 執行 cmd,輸入 netstat ano可以檢視所有程序 二 檢視占用指定埠的程式 當你在用tomcat發布程式時,經常會遇到埠被占用的情況,我們想知道是哪個程式或程序占用了埠。可以用該命...

程序號 埠號的區別

程序id和埠號之間沒有聯絡。他們列舉了完全不同的事情。pid標識乙個程序 例如firefox會話 每個選項卡可以作為不同的程序執行 埠號標識該程序正在使用哪個埠進行通訊 特定埠號確實具有常規用途 http通常使用80,https使用443。但是乙個程序可以獲取任何pid號,具體取決於啟動時間。同一臺...

Windows 殺死占用某個埠號的程序

windows不像linux,unix那樣,ps ef 查出埠和程序號,然後根據程序號直接kill程序。windows根據埠號殺死程序要分三步 第一步 根據 埠號 尋找 程序號 c netstat aon findstr 9050 tcp 127.0.0.1 9050 0.0.0.0 0 liste...