Találkozott már olyan helyzettel, amikor le kell állítania egy folyamatot, amely a Linux-gép egy adott portján fut?
Aggódhat amiatt, hogy egy futó alkalmazás rosszul működik, vagy leköti a hálózati erőforrásokat vagy a helyi CPU teljesítményét. Egy ilyen alkalmazás akár olyan biztonsági fenyegetést is jelenthet, amelyet el kíván hárítani.
Tartalomjegyzék
Bármi is az oka, használhatja a fuser, lsof és netstat parancsokat a terminálból (a kill mellett), hogy segítsen megtalálni és leállítani a portszámot használó Linux-folyamatokat. Ezek a parancsok a legtöbb Linux operációs rendszeren működnek, beleértve az Ubuntut is.
Linux-folyamatok leállítása a beégető paranccsal
Az egyik legegyszerűbb módja a folyamat leállításának egy portszám használatával, ha a beégető parancsot. Ez a Linux terminálparancs listázhatja vagy leállíthatja a fájlokhoz vagy socketekhez hozzáférő folyamatokat. Ha egy alkalmazás hálózati tevékenységgel fut (és így nyitott portot használ), akkor valószínűleg e két dolog valamelyikét teszi.
Mielőtt folytatná, meg kell győződnie arról, hogy kényelmesen használja a parancssori terminált Linux számítógépén.
A fuser használatával portszámot használó folyamatok felsorolásához a következő szintaxist használhatja:
fuser-n protokoll port
Ebben a példában a protokoll lehet tcp vagy udp, míg a port az ellenőrizni kívánt portszám. Például annak megtekintéséhez, hogy mely folyamatok használják a 80-as TCP-portot, futtassa a következőket:
fuser-n tcp 80
Ez kinyomtatja az ezt használó folyamatok folyamatazonosítóit (PID). kikötő.
A folyamatok leállításához hozzáadhatja a-k kapcsolót a beégetőhöz. Ez SIGTERM jelet küld minden folyamatnak, megkérve őket, hogy kecsesen fejezzék be. Például:
fuser-k-n tcp 80
Ez megsemmisíti az összes, a 80-as TCP-portot használó folyamatot.
Ha egyes folyamatok nem válaszolnak a SIGTERM-re , használhatja a-KILL-t a-k helyett. Ez megölési jelet (SIGKILL) küld, amely segíthet a jelenleg futó folyamatok azonnali leállításában. Ez azonban adatvesztést vagy sérülést okozhat, ezért óvatosan használja. Például:
beégető-KILL-n tcp 80
Ez minden, a 80-as TCP-portot használó folyamatot megsemmisít. Ha bármilyen problémába ütközik, futtassa ezeket a parancsokat szuper felhasználóként (a sudo paranccsal), vagy helyette a root felhasználó használatával.
Linux-folyamat leállítása az lsof paranccsal
A folyamat leállításának másik módja egy portszám használatával egy Linux PC-n az lsof parancs használata. Ez a parancs listázhatja a rendszeren lévő megnyitott fájlokat és socketeket.
Az adott portszámot használó folyamatok felsorolásához a következő szintaxist használhatja:
lsof-i protokoll:port
Ahogyan korábban, a protokoll lehet tcp vagy udp, míg a port az ellenőrizni kívánt portszám. Például annak megtekintéséhez, hogy mely folyamatok használják az 53-as TCP-portot (általában DNS-kérésekhez használják), futtassa ezt a parancsot:
lsof-i tcp:53
Ez kinyomtat néhány információkat az adott portot használó egyes folyamatokról, beleértve annak PID-jét is.
A folyamatok leállításához használhatja a-t kapcsolót az lsof-ban. Ez csak a folyamatok PID-jét nyomtatja ki minden egyéb információ nélkül. Ezt a kimenetet ezután bármilyen jelopcióval átvezetheti a kill parancsba. Például:
kill $(lsof-t-i tcp:53)
Ez SIGTERM jeleket küld (alapértelmezett) minden, az 53-as TCP-portot használó folyamatnak.
Ha egyes folyamatok nem reagálnak a SIGTERM jelekre, mint korábban, a kill után használhatja a-9-et a semmi helyett. Ez SIGKILL jeleket küld, mint korábban, azonnali leállásra kényszerítve őket, de adatvesztést vagy adatsérülést is okozhat. Például:
kill-9 $(lsof-t-i tcp:53)
Ez kényszerített SIGKILL jeleket küld (alapértelmezett) az 53-as TCP-portot használó összes folyamatnak.
Linux-folyamatok leállítása a netstat paranccsal
A netstat parancs segítségével nyomon követheti a Linux PC-jén futó folyamatokat is aktív és nyitott hálózati portok használatával. A netstat segítségével megtekintheti a rendszer hálózati kapcsolatait és statisztikáit, így pontosan meghatározhatja a problémás folyamatokat.
A folyamatok portszámmal és PID-vel történő felsorolásához két opciót kell hozzáadnia:-p, amely a PID-eket mutatja, és-l, amely csak a figyelő socketeket mutatja.
Meg kell adnia a protokollt is (tcp, udp stb.), és opcionálisan szűrnie kell állapot szerint (LISTEN stb.). Például annak megtekintéséhez, hogy mely TCP-folyamatok figyelnek az egyes portokon, futtassa a következőket:
netstat-p tcp-l
Ez információkat nyomtat minden egyes porton figyelő TCP socketről , beleértve a PID-jét is.
Adott portok szerinti szűréshez hozzá kell adni egy másik opciót:-n, amely a nevek helyett numerikus címeket jelenít meg. Meg kell adni a pontos címformátumot is: [protokoll][@hostname|hostaddr][:service|port].
Például annak megtekintéséhez, hogy mely TCP folyamatok figyelnek a 80-as porton, futtassa a következőt:
netstat-p tcp-l-n 80
Ez nyomtathat információkat a 8080-as porton figyelő TCP-foglalatokról, beleértve annak PID-jét is.
A folyamatok leállításához használhatja a kill parancsot bármilyen jelbeállítással és a netstat-tól kapott PID-kkel. Például:
kill 1234 5678
Ez SIGTERM jeleket küld (alapértelmezett) az 1234-es és 5678-as PID-vel rendelkező folyamatoknak.
Ha egyes folyamatok nem reagál a SIGTERM jelekre, mint korábban, a kill után használhatja a-9-et a semmi helyett. Ez SIGKILL jeleket küld, mint korábban, azonnali leállásra kényszerítve, de adatvesztést vagy adatsérülést okozhat, mint korábban. Például:
kill-9 1234 5678
Ez SIGKILL jeleket küld például az 1234-es és 5678-as PID-vel rendelkező folyamatoknak. Cserélje ki az 1234-et a futó folyamatnak megfelelő PID-re.
Linux-alkalmazások vezérlése
A fent vázolt lépéseknek köszönhetően gyorsan leállíthat egy futó Linux-folyamatot egy portszám használatával a Linux használatával parancs sor. Ne felejtsen el körültekintően leállítani a folyamatokat, különösen a SIGKILL jelek esetén, mivel ezek nem kívánt mellékhatásokat okozhatnak – elvégre nem akarja a rendszer instabilitását okozni.
Szeretné alaposabban megnézni rendszere teljesítményét Linuxon? Legközelebb érdemes ellenőrizni a memóriahasználatot Linuxon. Ha aggódik egy esetleges biztonsági kockázat miatt, érdemes lehet Linuxon is megváltoztatnia jelszavát.
Új Linux disztribúcióra kell váltania? Ha Ön kezdő, tekintse a Linux Mint-et biztonságos és stabil alternatívának.