擅长:python、mysql、java
<p>不,点击Ctrl-C不会终止两个进程。它只终止tee进程,
tee进程的结束将关闭脚本和tee之间的管道,因此脚本将随着断开的管道消息而终止。</p>
<p>为了解决这个问题,tee可以选择将Ctrl-C传递给管道中的前一个进程:-i</p>
<p>试穿:男式T恤</p>
<pre><code>./bug.py
^CCtrl-C pressed
./bug.py | tee log
^CTraceback (most recent call last):
File "./bug.py", line 14, in <module>
testfun()
File "./bug.py", line 9, in testfun
sys.stdout.flush()
IOError: [Errno 32] Broken pipe
./bug.py | tee -i log
^CCtrl-C pressed
</code></pre>