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...