Ü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
köszi a vlálaszt, sokat segített!
Viszont kiderült, hogy az init a parent processz:
root@luna:~# pstree
init-+-apache---9*[apache]
|-atd
|-cron
|-ddclient
|-dhclient
|-events/0
|-6*[getty]
|-inetd
|-khelper
|-klogd
|-ksoftirqd/0
|-kthread-+-aio/0
| |-kacpid
| |-kblockd/0
| |-khubd
| |-2*[kjournald]
| |-kmirrord
| |-kseriod
| |-ksuspend_usbd
| |-kswapd0
| |-md0_raid1
| |-2*[pdflush]
| |-xfsbufd
| |-xfsdatad/0
| |-xfslogd/0
| `-xfssyncd
|-light_ctl
|-linux ########################## ő lesz az!
|-master-+-pickup
| `-qmgr
|-mysqld_safe---mysqld_safe-+-logger
| `-mysqld---9*[{mysqld}]
|-nmbd
|-ping.sh---sleep
|-popa3d
|-portmap
|-rpc.mountd
|-rpc.nfsd
|-screen---bash---linux---24*[linux]
|-smbd---smbd
|-sshd---sshd---sshd---bash---su---bash---pstree
|-syslogd
`-vsftpd
root@luna:~#
Ezek szerint az init a parent, amit nem értek, mert "kézzel" indítottam ./linux formájában.
A "|-screen---bash---linux---24*[linux]" meg egy másik uml lesz...
- 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
itt az lsof kimenet:
root@luna:/home/bitumen# lsof -p 4788
COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME
linux 4788 uml cwd DIR 33,6 88 949453739 /mnt/space/home/uml/hargita
linux 4788 uml rtd DIR 9,0 4096 2 /
linux 4788 uml txt unknown /proc/4788/exe (readlink: No such file or directory)
linux 4788 uml 0u CHR 136,2 4 /dev/pts/2 (deleted)
linux 4788 uml 1u CHR 136,2 4 /dev/pts/2 (deleted)
linux 4788 uml 2u CHR 136,2 4 /dev/pts/2 (deleted)
linux 4788 uml 3u REG 0,14 33554432 5437 /dev/shm/vm_file-eQmf7I (deleted)
linux 4788 uml 4u unix 0xccfa3360 5441 /home/uml/.uml/FB7Ju1/mconsole
linux 4788 uml 5u unix 0xccfa34e0 5442 socket
linux 4788 uml 6u unix 0xccfa3660 5443 socket
linux 4788 uml 7r CHR 1,8 197958 /dev/random
linux 4788 uml 8r CHR 1,8 197958 /dev/random
linux 4788 uml 9u REG 33,6 805306368 949453756 /mnt/space/home/uml/hargita/root_fs (deleted)
linux 4788 uml 10u unix 0xccfa37e0 5444 socket
linux 4788 uml 11u unix 0xccfa3960 5445 socket
linux 4788 uml 12u unix 0xcd2d2e60 5446 socket
linux 4788 uml 13u unix 0xcd2d29e0 5447 socket
linux 4788 uml 14r DIR 33,6 6 83878489 /mnt/space/home/uml/.uml/FB7Ju1 (deleted)
linux 4788 uml 18r DIR 33,6 6 83878489 /mnt/space/home/uml/.uml/FB7Ju1 (deleted)
root@luna:/home/bitumen#
- 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