[Armadillo:08756] Re: Armadillo-420 へtelnetアクセス時にゾンビプロセスが生成される
Yasuhisa Nakamura
email@hidden
2013年 4月 22日 (月) 21:49:52 JST
中村です。
[Armadillo:08753]で Yasushi SHOJI さんは書きました:
> ゾンビになっていたのは shell だと思うのですが、あってますか?
> # telnet で入ったら増えると書かれていたので。
yashiさん、
これ、私も気になって調べてました。
rc.localからinitに制御が戻されず、initによる
ゾンビ回収がなされないのだろう、というところ
までは、rc.localの内容の投稿からすぐに推測が
できたのですが、「じゃぁ何がゾンビに?」は、
実際に動かして試しました。
(telnetdかshellのどちらかだろうということは
推測できますが・・・)
telnetdはinetdによってきちんと回収されていて、
ゾンビになって残っているのはashでした。
つまり、telnetdがash(telnetdが直接起動して
いるのはloginですが)の終了を待たないで(
wait()しないで)終わってしまっているようです。
> # dist の ps は "f" が使えなかったような...
/proc/[pid]/stausで親はわかりますね。
topコマンドでもOK。
ログをとるのに、もう一度やってみました。
rc.localでsleepして実験しているので、
telnetで2つログインしてます。
ログインしている状態:
$ ps
...
751 root 624 S inetd
...
1088 root 656 S /bin/sh /etc/rc.d/S99rc.local
1104 root 684 S /bin/sh /etc/config/rc.local
1206 root 556 S sleep 120
1280 root 584 S telnetd -l /bin/login
1281 guest 908 S -ash
1293 root 584 S telnetd -l /bin/login
1294 guest 824 S -ash
1307 guest 776 R ps
$ cat /proc/1294/status
Name: ash
State: S (sleeping)
Tgid: 1294
Pid: 1294
PPid: 1293
...
$ cat /proc/1293/status
Name: telnetd
State: S (sleeping)
Tgid: 1293
Pid: 1293
PPid: 751
...
この状態で1294をログアウト
$ ps
...
751 root 628 S inetd
...
1088 root 656 S /bin/sh /etc/rc.d/S99rc.local
1104 root 684 S /bin/sh /etc/config/rc.local
1206 root 556 S sleep 120
1280 root 584 S telnetd -l /bin/login
1281 guest 908 S -ash
1294 guest Z [ash]
1310 guest 776 R ps
$ cat /proc/1294/status
Name: ash
State: Z (zombie)
Tgid: 1294
Pid: 1294
PPid: 1
...
--
なかむら
armadillo メーリングリストの案内