0
Tclのサブプロセスmore
に書き込もうとすると、broken pipe
エラーが発生します。 more
が異常終了したようです。例:Tclのページャサブプロセスに書き込む方法は?
#!/usr/bin/env tclsh
set pager [open {| more} w]
for {set i 0} {$i < 10000} {incr i} {
puts $pager "$i foo"
}
close $pager
何が問題なのか分からない。
more
の代わりにless
を使用しても問題ありません。
編集:次のPythonのバージョンが正常に動作します。
#!/usr/bin/env python3
import os
pager = os.popen("more", "w")
for i in range(10000):
pager.write("{} foo".format(i))
pager.close()
これをPythonでやってみたところ、正しく動作していたので、もっとTclの問題だと思います。 (そのPythonコードで質問を更新しました) –