我有一个运行 mysqld 的服务器脚本并分叉以继续运行。举个例子:
./mysqld <parameters> &
echo "Parent runs next line in script."
<do more stuff>
为什么 tee 要等到子进程结束才自行结束?
EDIT:
例如,以下内容始终挂起:
./myscript | tee -a logfile.log
因为如果子进程仍在运行(并且仍打开标准输出),则无法确定是否已处理所有输出。
由于父级和子级使用相同的标准输出(连接到tee
的输入,由于管道的原因),没有办法tee
来区分它们。由于它消耗所有输入,因此父级和子级都必须在之前关闭其标准输出(或终止)tee
将看到输入结束条件。
如果你想tee
要在父脚本退出时退出,您应该将子脚本的输出重定向到文件或/dev/null
例如)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)