Czasami bywa że port jest już w użyciu bo proces się nie ubił i trzeba szukać PID'a. Osobiście brakowało mi komendy typu kill port_nr dlatego postanowiłem sam sobie ją doprodukować. Tworzę globalny alias tak by komenda nie znikała po restarcie systemu. Funkcja poniżej.
alias killPort="_killPort(){
if [ \$# -eq 1 ]; then
pidId=\$(lsof -i -n -P | grep LISTEN | grep \"\$1\" | awk '{print \$2}');
if [ \"\$pidId\" != \"\" ]; then
echo \$pidId | xargs kill;
else
echo \"Port is not in use\";
fi
else
echo \"Missing port argument\";
fi;
};
_killPort"
instalacja : dodanie do pliku ~/.bashrc
tj:
-
sudo nano ~/.bashrc
i można wkleić podalias alert=...
)
- restart systemu
od tego czasu można używaćkillPort port_nr
oczywiście nazwę aliasu (a tym samym komendy) można ustawić sobie dowolnie
--- EDIT ---
po zaproponowanych zmianach przedstawiłbym to w ostatecznej formie jako :
alias killPort="_killPort() {
if [ \$# -eq 1 ]; then
if [ \"\`fuser -n tcp \$1\`\" != \"\" ]; then
fuser -n tcp \$1 --kill >/dev/null
else
echo \"Port is not in use\";
fi
else
echo \"Missing port argument\";
fi;
}
_killPort"
If'y zostawiam do wyświetlania i obsługi błędów ;)