Parandage Pythoni sokli viga 48



Proovige Meie Instrumenti Probleemide Kõrvaldamiseks

Socket Error 48 on pythoni tõrge, mis käivitatakse siis, kui protsess üritab end siduda juba kasutatava pordiga.



Serverid



Mis põhjustab vea „socket.error: [Errno 48] Aadress on juba kasutuses”?

Pärast lühikest uurimistööd leidsime põhjused:



  • Sadamasse seotud protsess: Alati, kui protsess serveris luuakse, kasutab see Internetti suhtlemiseks porti. Sadam on nagu peremees, kes saab lõbustada korraga ühte külalist. Kui te aga porti ei määra, loob server selle lihtsalt vaikeporti. Järgmisel protsessi loomisel tuleb määrata port, kuna vaikeport on juba kasutusel.

1. lahendus: Pordinumbri määramine

Viga käivitub enamasti siis, kui inimene üritab konkreetset protsessi vaikepordiga siduda ja vaikeport on juba seotud teise protsessiga. Seetõttu täpsustame selles etapis sadamat, millele protsess tuleb piirata.

  1. Võimalik, et kasutate protsessi loomiseks järgmist käsku.
    $ python -m SimpleHTTPServer
  2. Selle asemel kasutage protsessi loomiseks seda käsku.
    $ python -m SimpleHTTPServer (pordi number)
  3. Oodake protsessi loomist ja kontrollige, kas probleem püsib.

2. lahendus: sadama vabastamine

Kui sadam on juba teistsuguses protsessis kasutusel, ei saa uus protsess selles pordis toimida. Seetõttu vabastame selles etapis pordi, lõpetades eelmise protsessi ja käivitades siis uue. Selle eest:

  1. Kasutage järgmist käsku, et loetleda konkreetse pordi abil mitu protsessi.
    $ ps -fA | grep python
  2. Käsu argument näeb välja umbes järgmine rida.
    601 88234 12788 0 21:53 ttys000 0: 00.16 python -m SimpleHTTPServer
  3. Sellest protsessikood, mida tapmiseks kasutame, on 88234.
  4. Protsessi tapmiseks kasutage järgmist käsku.
    tapa 88234

    Teise võimalusena võite selle tapmiseks kasutada järgmist käsku.



    sudo kill -9 PID
  5. Nüüd saate protsessi selle pordiga siduda järgmise käsu abil.
    $ python -m SimpleHTTPServer (pordi number)
  6. Nüüd luuakse protsess.

3. lahendus: Raspberry Pi taaskäivitamine (ainult Raspberry Pi jaoks)

Sellest veast saate lahti saada Vaarika Pi Raspberry Pi taaskäivitamise või terminalikesta tapmisega. Raspberry Pi ei suuda mõnikord protsesse automaatselt tappa ja käivitab selle tõrke eelmiste sadamates juba töötavate protsesside tõttu.

1 minut loetud