重定向到 /dev/null 突然中断的可能原因

重定向到 /dev/null 突然中断的可能原因

我正在使用 Bash 循环来监视我生成的进程,在一段时间(几小时/天)后,它有时会产生一个“不允许操作”错误,试图将输出重定向到 /dev/null:

/script.sh: line 4: /dev/null: Operation not permitted

该脚本看起来像这样:

#!/bin/bash
command &
pid=$!
while kill -0 "${pid}" &>/dev/null; do
  sleep 1 # cannot use `wait "${pid}"` for reasons
done

现在,我想知道什么会导致 /dev/null 变成.. 那么到底是什么?无法访问?以某种方式损坏了?字符特殊文件 /dev/null 是否会暂时不可用或繁忙? “不允许操作”错误到底是什么时候出现的?

注意:我无法判断错误第一次发生后是否仍然存在,因为脚本使用set -e.这可能是我会改变的事情,但我不想讨论这里的利弊set -e。 ;-)

相关内容