記事へのコメント52

    • 注目コメント
    • 新着コメント
    pmint
    pmint 何が解決したんだろう。これで分かった気になれるのが怖い。ケース1のログをこっそりソートしてる点や、バッファーを10件にしたのに1000件正常に処理できたことを看過してる点はなんなの。

    2018/03/23 リンク

    その他
    UDONCHAN
    UDONCHAN へーへー

    2018/03/22 リンク

    その他
    pattyhama
    pattyhama 面白い

    2018/03/22 リンク

    その他
    hazisarashi
    hazisarashi はてブまじ怖い。

    2018/03/22 リンク

    その他
    yoshikidz
    yoshikidz 本当の原因はなんなんだろう。どうやってキャッシュしているかのkeyに問題がありそうだけど、inodeとか使ってるのかねー。 検証してる人 みとこw find特有の問題ならいいんだけど、依存関係あると面倒よね

    2018/03/22 リンク

    その他
    Akimbo
    Akimbo 知識はありそうな筆者がソフトウェア開発の基本のキを全く理解してないらしいとこに頭を抱える。要するに「出力が入力を書き換える可能性がある設計は避けるべし」で、ドヤ顔で出したワンライナーのバグなんですよ。

    2018/03/22 リンク

    その他
    webarata3
    webarata3 "一度に読み込む量が定数だからでは。"

    2018/03/22 リンク

    その他
    vndn
    vndn findの挙動の原因よりもなぜワンライナーで書くのかの方が気になる。

    2018/03/22 リンク

    その他
    toritori0318
    toritori0318 ブコメでspongeコマンドを知りました。へー

    2018/03/22 リンク

    その他
    ton-boo
    ton-boo パイプ前段の処理内においてどのタイミングでstdoutするかによって挙動が変わる(つまりうまくいくケースもある)のは当然なのでもにょりながら見てたけど、moreutilsのspongeの存在を知ることができたのでよかった

    2018/03/22 リンク

    その他
    mobius118_7
    mobius118_7 解決する方法はいくらでもある。findの動作検証が目的なんだからこの記事は正しい。でも根本的な原因わかってない

    2018/03/21 リンク

    その他
    kazuau
    kazuau POSIXのfind(1)の仕様に対象ディレクトリにファイルが追加削除される場合の動作は不定だと明記されてるので仕様通りであり、そもそもreaddirの挙動がファイルシステム依存だからたぶん当然のことなんでしょう。

    2018/03/21 リンク

    その他
    cartman0
    cartman0 コマンドの細かい挙動結構わからんし、どんどん啓蒙記事増えるべきやね

    2018/03/21 リンク

    その他
    Nyoho
    Nyoho この一連の流れ、勉強になる。

    2018/03/21 リンク

    その他
    uehaj
    uehaj なんか理解が甘いような。ブログ主が期待する動作をするためには、ディレクトリ中のファイル名一覧情報のスナップショット化機構が必要だが、現実には存在しないってだけの事。findの問題というのも不適切

    2018/03/21 リンク

    その他
    sugawara1991
    sugawara1991 いやその、パイプそのものが問題とかそういう話じゃなくて、ディレクトリの書き換え側と読み取り側が並列動作することによる競合状態が本質なのであって/DOSで起きないのは前段プロセスが閉じないと次に行かないから

    2018/03/21 リンク

    その他
    tockri
    tockri なるほどー。10万個ずつファイルを走査してるから次の10万個の時に処理済みのファイルが入っちゃうのね。おもしろい。

    2018/03/21 リンク

    その他
    shikiarai
    shikiarai また一つ賢く……10万ファイルも扱わねぇな

    2018/03/21 リンク

    その他
    tettekete37564
    tettekete37564 普通にイテレーション中にインデックス変わるような操作したらそうなったりするもんでは?この場合はファイルアロケーションテーブルの。リネームじゃなくて別ディレクトリへの移動なら起こらなそう

    2018/03/21 リンク

    その他
    OkadaHiroshi
    OkadaHiroshi blog主は解決策には興味がないみたいだけど、読者の中には解決策に興味がある人もいるかもなので一言。 moreutils の sponge を使うと便利。 find xxx | sponge | xargs yyy みたいに。

    2018/03/21 リンク

    その他
    mn_kun
    mn_kun なんで可能性の指摘に対して怒ってるのか

    2018/03/21 リンク

    その他
    snowcrush
    snowcrush 前回パイプについて指摘していた人たちが言っていたのは"command1 | command 2" を "command1 > /tmp/hoge; command2 < /tmp/hoge"に変えろという意味だったんじゃないのかな。-execだと結局変わらんような。

    2018/03/21 リンク

    その他
    dirtjapan
    dirtjapan 検証されてて面白かった。ディレクトリの一覧がファイルシステムによってキャッシュされててそこ次第かな。解決策は別ディレクトリに出力するしかないよね。なんとかしたい気持ちはわかる。

    2018/03/21 リンク

    その他
    diffie
    diffie 「現象からしてfindコマンドが処理中に書き換えられたファイルを読み込んでいるのは明白」って最初の記事に書かなかった時点で、ああいう答えが返ってくるに決まってるじゃん。そして負けず嫌いな人。

    2018/03/21 リンク

    その他
    oktnzm
    oktnzm 労多くして・・・

    2018/03/21 リンク

    その他
    masatomo-m
    masatomo-m 二つのプロセスが同時に実行しないように間にblockするuniqコマンドとかを挟めば良いのでは、とか思ってた。パフォーマンスは落ちるけど確実にfindが終わってから次の処理に移るので

    2018/03/21 リンク

    その他
    tamtam3
    tamtam3 シェル芸は悪い文明…内部で桁落ちしてそうだが洗い出すほどの情熱はない。すまない

    2018/03/21 リンク

    その他
    naga_sawa
    naga_sawa 回避策は色々あるとして/裏でディレクトリ内容が変わった場合のreaddir()の挙動はどうなってんだろう/mv後のエントリを拾い続けて無限ループになりそうだけど/未定義?/未定義と http://yarchive.net/comp/linux/readdir_nonatomicity.html

    2018/03/21 リンク

    その他
    craftone
    craftone 検証せずにコメントしました。ごめん!/inode変わってないはずなのに二重読み込みされるの気になってるがreaddir()を斜め読んでもよく分からん。。

    2018/03/21 リンク

    その他
    ledsun
    ledsun 「readdirが(性能上の理由で)ロックしていない」に対して、findはキャッシュして対応している。上限は10万。では、なぜ10万1や20万1ではなく、15万という半端な数字に境界があるのか?

    2018/03/21 リンク

    その他

    注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています

    アプリのスクリーンショット
    いまの話題をアプリでチェック!
    • バナー広告なし
    • ミュート機能あり
    • ダークモード搭載
    アプリをダウンロード

    関連記事

    【謎】本当にあったfindコマンドの怖い話【検証編】

    3/21 22時頃: 質問編へのリンクを撤去し、タイトルを変更しました。(元のタイトルは「【謎】当にあっ...

    ブックマークしたユーザー

    • techtech05212024/02/05 techtech0521
    • ponki_82018/04/03 ponki_8
    • hiromichinomata2018/03/30 hiromichinomata
    • mjtai2018/03/25 mjtai
    • akishin9992018/03/23 akishin999
    • texta2018/03/23 texta
    • pmint2018/03/23 pmint
    • hareno2018/03/23 hareno
    • kana03552018/03/23 kana0355
    • sawarabi01302018/03/22 sawarabi0130
    • UDONCHAN2018/03/22 UDONCHAN
    • pattyhama2018/03/22 pattyhama
    • nna7742018/03/22 nna774
    • jonysand2018/03/22 jonysand
    • waraiman2018/03/22 waraiman
    • slay-t2018/03/22 slay-t
    • hazisarashi2018/03/22 hazisarashi
    • negima19762018/03/22 negima1976
    すべてのユーザーの
    詳細を表示します

    同じサイトの新着

    同じサイトの新着をもっと読む

    いま人気の記事

    いま人気の記事をもっと読む

    いま人気の記事 - テクノロジー

    いま人気の記事 - テクノロジーをもっと読む

    新着記事 - テクノロジー

    新着記事 - テクノロジーをもっと読む

    同時期にブックマークされた記事