前言
最近在摸索vue,令我頭疼的一件事是,如果以外關閉了啟動的服務,就會重新開一個埠,這樣很不友好,每次還得重新輸入到瀏覽器上一個新的埠,即使是復制到瀏覽器的地址欄上,也是很繁瑣的,
一遍,一遍,又一遍,
啊啊啊
如下圖,第一次啟動是3000

無故關閉了,就會重新啟動一個新的埠

真的很煩,
今天,我終于受不了啦,
笨人的解決方案
1、先查出來占用埠的PID
zhenghui@192 ~ % lsof -i:3000
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
node 17178 zhenghui 24u IPv4 0xc012b2e327127691 0t0 TCP *:hbci (LISTEN)
zhenghui@192 ~ %
2、使用kill結束行程
kill -9 17178
重復幾十遍你試試,

聰明人的解決方法
1、創建一個腳本,內容如下:
zhenghui@192 ~ % cat ks.sh
data=`lsof -i:3000|awk '{print $2}' | sort | uniq -d `
for d in $data
do
echo $d
kill -9 $d
done
zhenghui@192 ~ %
2、想殺死行程時,直接運行
sh ks.sh
進階(青銅)
zhenghui@192 ~ % cat ks.sh.bak
data=`lsof -i:$1|awk '{print $2}'`
echo "共:$data"
#用于累加計數,用于跳過第一個標題
count=0
for d in $data
do
if [ "$count" -gt 0 ];then
echo 正在結束:$d
kill -9 $d
fi
#每次累加1
count=$((${count}+1))
done
進階(王者)
zhenghui@192 ~ % cat ks.sh
data=`lsof -i:$1 -t`
echo "共:$data"
for d in $data
do
echo 正在結束:$d
kill -9 $d
done
zhenghui@192 ~ %
附
1、lsof命令常用引數
-a : 結果進行“與”運算(而不是“或”)
-l : 在輸出顯示用戶ID而不是用戶名
-h : 獲得幫助
-t : 僅獲取行程ID
-U : 獲取UNIX套介面地址
-F : 格式化輸出結果,用于其它命令,可以通過多種方式格式化,如-F pcfn(用于行程id、命令名、檔案描述符、檔案名,并以空終止)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/275897.html
標籤:其他
上一篇:7:Linux-行程信號
