次のコマンド(Ubuntu 20.04および22.04):
dd if=/dev/urandom count=800000 bs=1 | od -An -t f4 -w4 | sponge | sort -g
GNUソートコマンドはCPUの100%を占めることで無期限に停止することができます。この問題の原因は何かを理解していません。ただし、これはソートするファイルがstdinから入力された場合にのみ発生します。
答え1
これは明らかに間違いです。
これは「私」が明らかに悪い位置に登場するためだ。
これはうまくいきます(例より100倍大きいですが、すべてのnを削除します)。
dd if=/dev/urandom count=80000000 bs=1 | od -An -t f4 -w4 | sponge | grep -v nan | time sort -g |tail
このエラーは、次の場合に発生する可能性があります。
yes nan | head -n128095 | timeout 5 sort -g
クレイジーな部分はこれがうまくいくということです。
yes nan | head -n128095 > nan
timeout 5 sort -g < nan
timeout 5 sort -g nan
バグレポートをお持ちですか?