`ls > fifo &` 阻挡鱼 shell
`ls > fifo &` blocks fish shell
在 fish shell 中,这会阻止输入:
$ mkfifo fifo
$ ls > fifo &
但是这在 zsh 和 bash 中有效。
那么如何启动这种将 stdout 重定向到 fifo 的后台进程?
正如所写,这可能永远不会在鱼中起作用 shell。 fish 总是在 fork 之前打开重定向,在这种情况下会死锁,因为 fifo 没有 reader.
我认为最好的解决方法是让其他人打开文件,例如 tee
:
> mkfifo fifo
> ls | tee fifo >/dev/null &
在 fish shell 中,这会阻止输入:
$ mkfifo fifo
$ ls > fifo &
但是这在 zsh 和 bash 中有效。
那么如何启动这种将 stdout 重定向到 fifo 的后台进程?
正如所写,这可能永远不会在鱼中起作用 shell。 fish 总是在 fork 之前打开重定向,在这种情况下会死锁,因为 fifo 没有 reader.
我认为最好的解决方法是让其他人打开文件,例如 tee
:
> mkfifo fifo
> ls | tee fifo >/dev/null &