我正在阅读一个示例 ruby 脚本,该脚本通过分叉创建一个守护进程,创建一个新会话,再次分叉,然后将标准输入、标准输出、标准错误重定向到 /dev/null
这是重定向的片段:
STDIN.reopen '/dev/null'
STDOUT.reopen '/dev/null', 'a'
STDERR.reopen '/dev/null', 'a'
在这种情况下指定文件模式('a'
)有什么意义?行为是否会有所不同,例如,与
STDOUT.reopen '/dev/null', 'w'
甚至
STDOUT.reopen '/dev/null'
?