開かれたファイルはファイルディスクリプタといい、
Unixの世界では「すべてがファイルである」という哲学を持つ。
ファイルディスクリプタは、プロセスとともに生き、プロセスと共に死ぬ運命にある。
また、プロセス中に開いたリソースには固有の番号が与えられ、カーネルは
この番号を使ってプロセスが使用しているソースを追跡する。
>> passwd = File.open('/etc/passwd') => #<File:/etc/passwd> >> puts passwd.fileno 3 => nil >> hosts = File.open('/etc/hosts') => #<File:/etc/hosts> >> puts hosts.fileno 4 => nil >> passwd.close => nil >> puts passwd.fileno IOError: closed stream from (irb):18:in `fileno' from (irb):18
だからなんというか、死んでしまったプロセスを追うことは出来ない。