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 Ön által futtatott 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.
Bármi is az oka, használhatja a fuser, lsofés netstatparancsokat a terminálból (a kill mellett) segítségével megtalálhatja és leállíthatja 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
A folyamat leállításának egyik legegyszerűbb módja a portszám használatával a beégetőparancs használata. Ez a Linux terminál parancs 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 fuserhasználatával portszámot használó folyamatok felsorolásához a következő szintaxist használhatja:
beégető -n protokoll port
Ebben a példában a protokolllehet tcpvagy udp, míg a porta kívánt portszám ellenőrizni. Például annak megtekintéséhez, hogy mely folyamatok használják a 80-as TCP-portot, futtassa:
beégető -n tcp 80
Ez kinyomtatja az adott portot használó folyamatok folyamatazonosítóit (PID).
A folyamatok leállításához adja hozzá a -kopciót a fixálóhoz. Ez SIGTERM jelet küld minden folyamatnak, megkérve őket, hogy kecsesen fejezzék be. Például:
beégető -k -n tcp 80
Ez leállítja az összes, a 80-as TCP-portot használó folyamatot.
Ha egyes folyamatok nem válaszolnak a SIGTERM-re, a -khelyett használhatja a -KILLparancsot. 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 szuperfelhasználóként (a sudoparanccsal), vagy használja helyette a rootfelhasználót.
Linux-folyamatok leállítása az lsof paranccsal
Egy másik módja annak, hogy egy portszámot használva leállítsunk egy folyamatot egy Linux PC-n, azlsofparancs használata. Ez a parancs megjelenítheti a megnyitott fájlokat és socketeket a rendszeren.
Az adott portszámot használó folyamatok felsorolásához a következő szintaxist használhatja:
lsof -i protokoll:port
A korábbiakhoz hasonlóan a protokolllehet tcpvagy udp, míg a porta portszám, amelyet szeretne jelölje be. 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 bizonyos információkat nyomtat az adott portot használó egyes folyamatokról, beleértve a PID-t is.
A folyamatok leállításához használja a-tkapcsolót az lsofmellett. Ez csak a folyamatok PID-jét nyomtatja ki minden egyéb információ nélkül. Ezt a kimenetet ezután a killparancsra irányíthatja bármilyen jelbeállítással. Például:
öld meg $(lsof -t -i tcp:53)
-tEz SIGTERM jeleket küld (alapértelmezett) az 53-as TCP-portot használó összes folyamatnak.
Ha egyes folyamatok nem reagálnak a SIGTERM jeleire, mint korábban, a killután a -9beállítást használhatja 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) minden, az 53-as TCP-portot használó folyamatnak.
Linux-folyamatok leállítása a netstat paranccsal
A netstatparanccsal is nyomon követheti a Linux PC-jén futó folyamatokat 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 lehetőséget kell hozzáadnia: -p, amely a PID-eket mutatja, és -l, amely azt mutatja, csak lehallgató aljzatok..
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 valamelyik porton, futtassa:
netstat -p tcp -l
Ez információkat nyomtat minden porton figyelő TCP-foglalatról, beleértve a PID-jüket is.
Adott portok szerinti szűréshez egy másik beállítást kell megadnia: -n, amely a nevek helyett numerikus címeket jelenít meg. Meg kell adnia a pontos címformátumot is: [protocol][@hostname|hostaddr][:service|port].
Például annak megtekintéséhez, hogy mely TCP-folyamatok figyelnek a 80-as porton, futtassa a következőket:
netstat -p tcp -l -n 80
Ez kinyomtatja a 8080-as porton figyelő minden TCP-socketre vonatkozó információkat, beleértve annak PID-jét is.
A folyamatok leállításához használhatja a killparancsot bármilyen jelbeállítással és a netstattól kapott PID-kkel. Például:
öld meg a 1234 5678 számot
Ez SIGTERM jeleket küld (alapértelmezett) a 1234és 5678PID-vel rendelkező folyamatoknak.
Ha egyes folyamatok nem reagálnak a SIGTERM jeleire, mint korábban, a killután a -9beállítást használhatja 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:
ölj -9 1234 5678
Ez SIGKILL jeleket küld például a 1234és az 5678PID-vel rendelkező folyamatoknak. Cserélje ki az 1234-eta 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 parancssor használatával. 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 a rendszer teljesítményét Linuxon? Legközelebb érdemes lehet ellenőrizze a memóriahasználatot Linuxon. Ha aggódik egy esetleges biztonsági kockázat miatt, érdemes lehet változtassa meg a jelszót Linuxon is.
Új Linux disztribúcióra kell váltania? Ha kezdő vagy, fontolja meg a Linux Mintot egy biztonságos és stabil alternatíva..
.