[この文書は、script(1) コマンドの結果から、意味のある部分を抜き出して 示したものである。この行のように、コメントは中括弧[]でかこって示す。] ["rm -rf /" を実行した FreeBSD マシンのディスクを sras70:/mnt に NFS マウントし、状況を観察してみる。] Script started on Sun Sep 20 20:34:46 1998 katsu@sras70 6% cd /mnt ["rm -rf /" したが、以下にみるように、まだ 8M ほどのブロックが 解放されないままである。] katsu@sras70 7% df . Filesystem kbytes used avail capacity Mounted on ext247:/ 376367 8165 338093 2% /mnt [以下にみるように、ディスク上には、カーネルと、当該の機械上で事後に 作成した "aaaaa" 以外のファイルは存在しない。] katsu@sras70 8% ls -lAF total 1353 -rw-r--r-- 1 root 0 Sep 20 21:05 aaaaa -r-xr-xr-x 1 root 1371851 Sep 19 23:37 kernel* dr-xr-xr-x 2 root 512 Oct 21 1997 proc/ [ping に答える。] katsu@sras70 9% /usr/sbin/ping ext247 ext247 is alive katsu@sras70 10% telnet ext247 Trying 133.137.36.201 ... Connected to ext247. Escape character is '^]'. Connection closed by foreign host. [smtp にも答えるが、実際にメールを受け取ってくれるかどうかは不明。 最後に /dev/null がないとかいうエラーメッセージが出ている。] katsu@sras70 11% telnet ext247 smtp Trying 133.137.36.201 ... Connected to ext247. Escape character is '^]'. 220 ext247.sra.co.jp ESMTP Sendmail 8.8.7/8.8.7; Sun, 20 Sep 1998 21:07:22 +0900 (JST) vrfy root 250 expn katsu 250 quit 221 ext247.sra.co.jp closing connection fill_fd: disconnect: cannot open /dev/null: No such file or directory Connection closed by foreign host. [FreeBSD では、/etc/inetd.conf の echo サーバーの行がコメントアウト されているのがデフォルトだったのだ。] katsu@sras70 12% telnet ext247 echo Trying 133.137.36.201 ... telnet: connect: Connection refused telnet> quit [8M ほどの解放されないブロックは、どのプログラムがつかんでいるんだろう。 lsof を動かす都合上、多少のコマンドをコピーして置いたので、rm 直後よりも 若干使用済みの領域が増えている。] sras70# df /mnt ファイルシステム Kバイト 使用済 使用可 使用率 マウント場所 ext247:/ 376367 8482 337776 2% /mnt [ここで X サーバーを終了させてみる] sras70# df /mnt ファイルシステム Kバイト 使用済 使用可 使用率 マウント場所 ext247:/ 376367 3507 342751 1% /mnt [この時点で ext247 で動いているコマンドは以下の通りである。 ただし pid 2529 で、本来なら存在せずに起動するはずのない getty が 動いてしまっていることに注意。これは、FreeBSD live filesystem の cdrom をマウントして、適当にリンクを張ったために起きたことである。] # ps -agxu USER PID %CPU %MEM VSZ RSS TT STAT STARTED TIME COMMAND ps: warning: /var/run/dev.db: No such file or directory 0 2537 0.0 0.6 624 184 ?? R+ 7:58AM 0:00.02 ps -agxu 0 1 0.0 0.6 404 176 ?? Is Sat11PM 0:00.06 /sbin/init -- 0 2 0.0 0.1 0 12 ?? DL Sat11PM 0:00.25 (pagedaemon) 0 3 0.0 0.1 0 12 ?? DL Sat11PM 0:00.00 (vmdaemon) 0 4 0.0 0.1 0 12 ?? DL Sat11PM 0:25.11 (update) 0 23 0.0 0.3 200 80 ?? Is Sat11PM 0:00.01 adjkerntz -i 0 75 0.0 1.4 204 432 ?? Ss Sat02PM 0:02.00 syslogd 1 83 0.0 1.6 176 468 ?? Is Sat02PM 0:00.05 portmap 0 91 0.0 0.9 444 256 ?? Is Sat02PM 0:00.11 mountd -r 0 94 0.0 0.4 232 100 ?? Is Sat02PM 0:00.01 nfsd: master ( 0 98 0.0 0.3 224 92 ?? I Sat02PM 0:03.36 nfsd: server ( 0 99 0.0 0.3 224 92 ?? I Sat02PM 0:01.26 nfsd: server ( 0 100 0.0 0.3 224 92 ?? I Sat02PM 0:00.85 nfsd: server ( 0 101 0.0 0.3 224 92 ?? I Sat02PM 0:00.39 nfsd: server ( 0 102 0.0 1.5 176 448 ?? Is Sat02PM 0:00.01 rpc.statd 0 107 0.0 0.2 208 64 ?? I Sat02PM 0:00.00 nfsiod -n 4 0 108 0.0 0.2 208 64 ?? I Sat02PM 0:00.00 nfsiod -n 4 0 109 0.0 0.2 208 64 ?? I Sat02PM 0:00.00 nfsiod -n 4 0 110 0.0 0.2 208 64 ?? I Sat02PM 0:00.00 nfsiod -n 4 0 124 0.0 1.4 192 428 ?? Is Sat02PM 0:00.15 inetd 0 167 0.0 1.5 180 436 ?? Is+ Sat02PM 0:00.04 /usr/libexec/g 0 168 0.0 1.5 180 436 ?? Is+ Sat02PM 0:00.03 /usr/libexec/g 0 1389 0.0 2.2 552 652 ?? Is 9:29AM 0:00.36 sendmail: acce 0 2323 0.0 1.8 168 536 ?? Ss 11:16AM 0:01.49 rlogind 2788 2324 0.0 0.9 444 280 ?? Is 11:16AM 0:00.14 -csh (csh) 0 2326 0.0 1.0 452 296 ?? S 11:16AM 0:00.64 -su (csh) 0 2529 0.0 1.3 180 380 ?? Is+ 7:57AM 0:00.09 /usr/libexec/g 0 0 0.0 0.0 0 0 ?? DLs Sat11PM 0:00.55 (swapper) # [ここで、コンソールを含めて、全ての端末で logout してみる。] sras70# df . ファイルシステム Kバイト 使用済 使用可 使用率 マウント場所 ext247:/ 376367 2980 343278 1% /mnt [ただし、logout すると、init はもはや getty を起動できない。よって コンソールは、何もメッセージが出ないまま、キー入力に無反応になった。 それでも、デーモン類やカーネルは動いている。]