当我运行命令时for i in *.log; do cat "$i" | sort; done | more
,管道收到SIGTTIN
信号并停止。
bash$ for i in *.log; do cat "$i" | sort; done | more
### (one screenful of output...)
--More--
### (press Space)
[1]+ Stopped for i in *.log;
do
cat "$i" | sort;
done | more
bash$ echo $?
149 # indicates SIGTTIN(21)
(我用一个简单的脚本替换了cat
一个更复杂的awk
脚本。)
我不明白为什么SIGTTIN
生成 a ,因为没有进程从 tty 读取,除了more
,它不在后台。有人可以解释一下这是怎么回事吗?