- Vaša košarica je trenutno prazna
Kako ročno prekiniti (neodzivne) procese?
Procesi spletnih aplikacij, kot so WordPress, OpenCart, Magento, PrestaShop in številne druge, včasih postanejo neodzivni (pravimo tudi, da se procesi “zataknejo” oz. “zaciklajo”), zaradi česar lahko spletno mesto preneha delovati. V tem primeru je proces (ali več procesov) potrebno ročno zaustaviti, kar se uredi prek terminala oz. ukazne vrstice.
Razlogi za neuspešno zaključene procese so različni, npr. težave z omrežjem, napake v bazi podatkov, napake v kodi spletne strani, konflikti zaradi uporabe preveč vtičnikov, preobremenitev paketa gostovanja in podobno. Težava običajno vodi do stanja, ko aplikacija uporablja 100 % dovoljenih hkratnih HTTP procesov, kar vodi do nedelovanja spletne strani.
Po naših izkušnjah do neuspešno zaključenih procesov največkrat pride ob (samodejnih) nadgradnjah, npr. ob posodobitvi WordPress jedra ali vtičnikov, ali ob urejanju večjih sprememb na spletni strani. Takšne situacije so sicer izjemno redke.
Kazalo
- Navodila za prekinitev procesov prek ukazne vrstice
- Alternativa za prekinitev vseh PHP procesov
- Rešitev za razvijalce: prilagoditev programske kode
Navodila za prekinitev procesov prek ukazne vrstice
Ker se s procesi upravlja prek ukazne vrstice, morate na svojem paketu gostovanja najprej vključiti SSH dostop. To uredite v naročniškem centru Moj NEOSERV (naročniki Reseller gostovanja morate SSH omogočiti tudi znotraj WHM), s čimer dosežete, da se vam v nadzorni plošči cPanel pojavi ikona Terminal.
1. Preverite navodila za aktivacijo SSH in na svojem paketu gostovanja omogočite SSH dostop.
2. Vpišite se v nadzorno ploščo cPanel, poiščite sekcijo Advanced in kliknite na ikono Terminal.
3. S klikom na gumb “I understand and want to proceed.” potrdite, da želite uporabiti ukazno vrstico.
4. Uporabite naslednji ukaz, da preverite seznam vseh aktivnih procesov, ki tečejo na vašem paketu gostovanja.
ps aux
Pozorni bodite predvsem na stolpca %CPU in %MEM, ki predstavljata odstotek celotne dodeljene procesorske moči in pomnilnika, ki ga uporablja posamezen proces. Zanimiv je tudi stolpec STAT, v katerem je zapisan status procesa (R – running, S – sleeping, Z – zombie, T – stopped, W – paging).
5. Preverite podrobnosti o določenem procesu (npr. niti (ang. threads) ali posamezne podprocese) s spodnjim ukazom.
ps -T PID
POMEMBNO: Zapis PID nadomestite z ID številko dejanskega procesa, ki se nahaja v drugem stolpcu rezultata, vrnjenega z uporabo predhodnega ukaza (ps aux
).
6. Ko odkrijete, kateri proces je neodziven oz. tisti, ki povzroča težave, ga prekinite z naslednjim ukazom.
kill PID
POMEMBNO: Tudi v tem primeru zapis PID nadomestite z ID številko dejanskega procesa.
Želite prekiniti vse aktivne PHP procese, vezane na vaš cPanel račun? V tem primeru uporabite spodnji ukaz.
pkill php
Ste težavo nameravali odpraviti z odstranitvijo aplikacije? Procesi v nadzorni plošči cPanel bodo kljub odstranitvi aplikacije (npr. WordPressa) ostali aktivni, saj delujejo v delovnem pomnilniku (RAM), v katerem se bodo podatki še vedno nahajali, dokler procesi ne bodo ročno prekinjeni.
Alternativa za prekinitev vseh PHP procesov
Prekinitev vseh PHP procesov lahko dosežete tudi tako, da v nadzorni plošči cPanel spremenite PHP različico.
1. V nadzorni plošči cPanel poiščite sekcijo Software in kliknite na ikono Select PHP Version (Izberi PHP Verzijo).
2. Pri nastavitvi “Current PHP version” izberite drugo PHP verzijo in spremembo potrdite s klikom na gumb Apply.
3. Ker ste s tem prekinili vse aktivne PHP procese, lahko zdaj ponovno izberete predhodno nastavljeno PHP različico in jo potrdite s klikom na gumb Apply.
Rešitev za razvijalce: prilagoditev programske kode
Naprednejši način reševanja težave je, da v svoji aplikaciji locirate del programske kode, ki povzroči, da se proces ne zaključi pravilno, nato pa programsko kodo ustrezno popravite oz. prilagodite. Ta rešitev zahteva mnogo več tehničnega znanja ter dobro poznavanje programske kode, arhitekture in posebnosti aplikacije.
Prilagoditev programske kode torej lahko uredijo razvijalci, ki skrbijo za razvoj in vzdrževanje spletne strani. Vsekakor pa je tovrstna rešitev, če je le mogoča, priporočljiva, saj se na ta način napaka v programski kodi odpravi, s čimer se prepreči, da bi ponovno prišlo do enake težave.
KOMENTARJI
Dodatna vprašanja?
KOMENTIRAJTE OBJAVO
Vaš komentar je bil uspešno oddan
Komentar bo viden na strani, ko ga naši moderatorji potrdijo.