Üdv!
Van egy processz a "szerveremen", ami halott, de nem szűnik meg:
4788 ? D 0:00 [linux]
Ez egy uml-es gépnek a processze szeretne lenni. Már tőbb mint 15 órája benne van a ps ax kimenet-ben, nyitva tartja a root_fs-fájlt és idegesít. Kill -9 nem segít.
Mitől függ, h mikor tűnik el ill. hogyan lehet eltüntetni?
Köszönöm,
Csaba
- 1170 megtekintés
Hozzászólások
Amikor egy processz meghal, szépen kitakarodik a rendszerből majdnem minden, ami hozzá tartozik. Megmarad pl. a processz táblabeli elem. A szülő processze kap egy "Death of a Child" megszakítást (SIGC(h)LD) - az pedig ekkor normális esetben kiad egy wait (vagy waitpid/wait3/wait4) rendszerhívást, és elveszi a meghalt processz státustát. Ekkor szűnik meg a processz véglegesen. Azaz max annyit lehet próbálni, hgy kill-lel Te küldj egy SIGCHLD-t a szülőnek.
- A hozzászóláshoz be kell jelentkezni
- A hozzászóláshoz be kell jelentkezni
ha egy processnek megszunik a szuloje, akkor megkapja az init-et mint szulot. (magyarul bashbol inditottad a linuxot, de kileptel a bashbol)
--
A vegtelen ciklus is vegeter egyszer, csak kelloen eros hardver kell hozza!
- A hozzászóláshoz be kell jelentkezni
probald meg:
kill -CONT 4788
--
A vegtelen ciklus is vegeter egyszer, csak kelloen eros hardver kell hozza!
- A hozzászóláshoz be kell jelentkezni
Sajnos a cont nem segített, nem volt megállítva. Viszont ahogy elnézem ettől a processztől csak a legközelebbi áramszünetkor szabadulok meg...
A "kill -SIGCHLD 1" sem jött be, bár lehet, hogy ezt butaság volt megpróbálni.
- A hozzászóláshoz be kell jelentkezni
Hi,
En is jartam mar egy parszor igy, es sehogy nem sikerult tole megszabadulni, de azt hittem a geppel van valami. Ezert is kivancsian varom a fejlemenyeket, hatha valaki megmondja mi lehet az oka, es mit lehet ilyenkor tenni (a rebooton kivul). Azert szerintem az durva, hogy elofordulhat olyan linux alatt, hogy egy futo processt nem lehet kiloni. Nem?
- A hozzászóláshoz be kell jelentkezni
van olyan amikor nem jó ha vannak zombie processzek, ilyenkor a signal(SIGCHLD, SIG_IGN) a program elején segít.
(pl. embededd rendszerben, limitált erőforrások esetén).
- A hozzászóláshoz be kell jelentkezni
"Azert szerintem az durva, hogy elofordulhat olyan linux alatt, hogy egy futo processt nem lehet kiloni. Nem?"
Fene tudja, elvégre ez a processz halott, dead. Remélem nem valami ügyes rootkit vagy hasonló...
Tripwire és chrootkit van a gépen, a tripwire kicsit elhanyagolt állapotban...
- A hozzászóláshoz be kell jelentkezni
Az en esetemben azert nem mindig volt teljesen hallott, mert pl fogta a processzort, vagy valamelyik fajlt.
- A hozzászóláshoz be kell jelentkezni
Ez nem zombi, hanem "uninterruptible sleep" statuszban levo" processz. Azt pedig nem lehet meggyilkolni csak ugy. A lenyege, hogy valamelyik kernelhivasbol nem te'rt vissza, vagyis pontosabban a kernelhivas olyan, ami nem megszakithato. Pelda (amit sokszor tapasztaltam): NFS. Ha lehal a szerver es egy processz veletlenul kozben nfs-en levo" fileokat/konyvtarakat baszkural (I/O, de egy sima `ls` is csinalja), akkor a processz D-be kerul. Ezt NFS-nel ugy lehet elkerulni, "soft,intr" mount-opciokkal mount-olod fel. Ha megsem ugy mountoldad fel, akkor csak a szerveroldali nfsd megbaszkuralasa segit, vagy kamu nfsd-k elinditasa localhoston (erre mar pontosan nem emlekszem, hogy hogy kellett csinalni, de valahogy meg lehet). De ha nem is az NFS miatt van ez a problema, akkor is sokat segithet egy `lsof` kimenet, kimondottan erre a processzre, es akkor ott meg lehet nezni hogy miket (diszk, particio, egyebek) fog a processz, hatha abbol kiderul valami okossa'g.
A.
- A hozzászóláshoz be kell jelentkezni
NFS esetén, ha hard-dal lett csatolva, csak a túloldali NFS-szerver elindítása segít, ha soft-tal, akkor egy idő után kidől, hogy nincs meg a fájl.
- A hozzászóláshoz be kell jelentkezni
asszem az "intr" is segit valamit, de ma'r nem emlekszem...:/ mindenesetre a soft+intr egyutt ma'r nem rossz, instabil halozat es/vagy szerver esete'n.
- A hozzászóláshoz be kell jelentkezni
- A hozzászóláshoz be kell jelentkezni
Pontosan mi ez az /mnt/space/...? NFS? Az unix domain socket-ek leteznek? (gyanus hogy csak az egyikne'l ir file-t, a tobbinel nem, bar azt nem tudom hogy nem peldanyositott af_local socket-ek /pl amiket socketpair()-rel csinalnak/ hogyan jelennek meg az lsof-ban).
- A hozzászóláshoz be kell jelentkezni
"Pontosan mi ez az /mnt/space/...? NFS?"
/mnt/space-re van bemountolva egy elég nagy partíció, amin a /home is van. /home-ban meg az uml user ~/ -je, és ő futtatja az uml-es gépeket.
Nfs-ez nincs sok köze az egésznek. (Meg van osztva az /mnt/space nfs-en keresztül, de ebben az esetben helyi fájlrendszerről van szó. )
- A hozzászóláshoz be kell jelentkezni