halott processz

Fórumok

Ü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

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.

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...

probald meg:
kill -CONT 4788

--
A vegtelen ciklus is vegeter egyszer, csak kelloen eros hardver kell hozza!

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?

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).

"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...

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.

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#

"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ó. )