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.

Categories: IT Info