我很好奇为什么需要这个特殊的设备来分叉命令并在最小的 Busybox shell 中异步运行它。
BusyBox v1.30.1 (Debian 1:1.30.1-4) built-in shell (ash)
Enter 'help' for a list of built-in commands.
/bin/sh: can't access tty; job control turned off
/ #
/ # echo Hello && sleep 2s && echo World &
/bin/sh: / # can't open '/dev/null': No such file or directory
/ #
/ # mknod /dev/null c 1 3 && chmod 666 /dev/null
/ # echo Hello && sleep 2s && echo World &
/ # Hello
World
/ #
从busybox中shell的实现:
注意“输入重定向到 /dev/null”。由于子shell 的标准输入是从其重定向的
/dev/null
(由于作业控制已关闭,这将是因为/dev/tty
也无法访问),因此如果该设备文件不可访问,您将收到错误消息。