記事へのコメント55

    • 注目コメント
    • 新着コメント
    tmatsuu
    tmatsuu わいわい

    2022/01/08 リンク

    その他
    kabatana
    kabatana こういう細かく検証してくださる方は本当にありがたいな。

    2022/01/01 リンク

    その他
    rryu
    rryu 読み込み中のファイルを更新する可能性は他のものでもある訳で、問題にならないのは大抵は一瞬で終わるので遭遇する確率が低いからなのだろう。

    2021/12/30 リンク

    その他
    ysik
    ysik open(2) した後 write(2) のタイミングで Copy on Write でカーネル内のファイルハンドルを新規に生成して、プロセス毎に異なるファイルハンドルを対応させる実装だったら…。環境変数を使う複数ファイル構成だと無理か…。

    2021/12/30 リンク

    その他
    kazutanaka
    kazutanaka スクリプトはファイル上書きでなく、ユニーク名で新規ファイル設置&シンボリックリンク差し替えなら、実行中プロセスに干渉しない。スクリプトのロールバックも簡単になる。

    2021/12/30 リンク

    その他
    iekusup
    iekusup なるほど。

    2021/12/30 リンク

    その他
    n314
    n314 読み込みはともかく、書き込みなら昔はログローテートで一度はハマるものだったような。それでそのときにi-nodeと開きっぱなしのファイルの挙動を知る。

    2021/12/30 リンク

    その他
    goodstoriez
    goodstoriez “Linux の dash(/bin/sh)、zsh では再現、FreeBSD の sh/bash では再現せず。どうやら UNIX System-V だと再現する様です。”

    2021/12/30 リンク

    その他
    aya_momo
    aya_momo MS-DOSのバッチファイルでもそういうのがあったはず。

    2021/12/30 リンク

    その他
    sugimori
    sugimori なるほど〜

    2021/12/30 リンク

    その他
    otoan52
    otoan52 長く掛かるバッチ処理的の修正をするのに、文字数を合わせて書き換えたことあったな。(個人的な遊びの環境の話だけど)/ cpは書き換えだけど、mvは名前の付け替えだからな。/ for文も読み直すからメモリ対策だよ

    2021/12/30 リンク

    その他
    ikkitang1211
    ikkitang1211 めっちゃいい記事…!! 勉強になる。

    2021/12/30 リンク

    その他
    jun_cham
    jun_cham bashはインタプリタ言語じゃなくてshellだからってことだよなあ

    2021/12/30 リンク

    その他
    tettekete37564
    tettekete37564 mv か cp かも大きいがファイルシステムによっては mv でもアトミックな挙動をしないのでなんとも。ただ起動中のプロセスを上書きってのは精神衛生上良くないからやりたくないね。

    2021/12/30 リンク

    その他
    retire2k
    retire2k ZFSのようなFileSystem(直接上書きされない)ならどうなるんやろ

    2021/12/30 リンク

    その他
    OkadaHiroshi
    OkadaHiroshi 全読込みしないのはメモリ資源が高価だからでなく、全部読み込んでから実行するより逐次実行の方が早いからでは。書き換わったら再度読み込むのは無限ループのあるスクリプトを止めずにパッチを当るためだろうか。

    2021/12/30 リンク

    その他
    fn7
    fn7 “これは bash の問題ではなく、I/O がアトミックではない事で起きる問題であり、この問題を回避しつつスクリプトを入れ替えるのであれば、スクリプトが停止している事を確認するしかない。”

    2021/12/29 リンク

    その他
    ys0000
    ys0000 ちなみにWindowsのbatchでも行読み込みであり、変な編集を加えると実行処理が変わる。なので実行中に編集してはいけない。Powershellは確か起動時に読み込むので大丈夫なハズ(仕様を当たった訳ではないので断言できず

    2021/12/29 リンク

    その他
    sugawara1991
    sugawara1991 ↓リンク)呼び出し毎にシークしなおしてるなら外部コマンドによるスクリプト自己書き換えを動作成立させるためのシェルの意図的な動作仕様の匂いがする。テクニカルに過ぎるが成立するなら使いたがるタイプ居そう

    2021/12/29 リンク

    その他
    tamanecoplus
    tamanecoplus 大昔のインタプリタ言語だって大抵は最初にメモリに全ロードしてた。bashが特殊だと思う(思いたい)

    2021/12/29 リンク

    その他
    zyzy
    zyzy bash固有の問題ではない、とは言え今メジャーに使われてる奴で同じこと起きそうなのはあんまりなくない?

    2021/12/29 リンク

    その他
    lenhai
    lenhai ls -i でi-node確認すると分かり易い。同一i-nodeに対して読み込み(bash)と書き込みが発生してるのが問題であって、fgetsのアトミック性はあまり関係ない。なおファイル更新はmv(rename(2))でアトミックにやるのが良さそう。

    2021/12/29 リンク

    その他
    mkusunok
    mkusunok 実行時の断面を保持するとか、更新できないようにロックするとか、やればできそうなもんだけど

    2021/12/29 リンク

    その他
    Windymelt
    Windymelt 面白い。開始時に一括読み込みするオプションとかが生えると嬉しそう

    2021/12/29 リンク

    その他
    remonoil
    remonoil 最近はJITばかりで忘れがちだけどインタプリタってこういうことよな

    2021/12/29 リンク

    その他
    shikiarai
    shikiarai 昔の実装だからそういう可能性もあるだろうなと必ず止まってる時に更新しろ殺されるぞって山の化け物への接し方みたいに口頭伝承で伝えてるけど仕様が細か過ぎて引き続き口頭伝承にしようと思った。

    2021/12/29 リンク

    その他
    Wafer
    Wafer テストで復習超大事

    2021/12/29 リンク

    その他
    kanetann
    kanetann “bash の問題ではなく、I/O がアトミックではない事で起きる問題”

    2021/12/29 リンク

    その他
    sgo2
    sgo2 一括読込にしたら組み込みで使えなくなる(ash使えって?そうですね)

    2021/12/29 リンク

    その他
    ngyuki
    ngyuki fgetsもまとまった単位でバッファにreadしてそのバッファから1行ごとに返してるだろうからfgetsだけでは説明つかない気もするけれども・・ https://twitter.com/tmtms/status/1476056779973083136 こういうことなの

    2021/12/29 リンク

    その他

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

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

    関連記事

    bash スクリプトの実行中上書き動作について

    を設定してから再度試した所 bar が表示された。backupcopy は編集中のファイルによって自動で判別する ...

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

    • techtech05212023/03/26 techtech0521
    • mjtai2022/03/23 mjtai
    • lugecy2022/01/16 lugecy
    • hamaco2022/01/12 hamaco
    • nozomu3652022/01/10 nozomu365
    • nunux2022/01/09 nunux
    • tmatsuu2022/01/08 tmatsuu
    • mhag2022/01/04 mhag
    • machupicchubeta2022/01/02 machupicchubeta
    • mp0liiu2022/01/02 mp0liiu
    • lunastera2022/01/02 lunastera
    • shigeaki1jp2022/01/01 shigeaki1jp
    • m0t0m0t02022/01/01 m0t0m0t0
    • kabatana2022/01/01 kabatana
    • yogasa2021/12/31 yogasa
    • sskoji2021/12/31 sskoji
    • imyutaro2021/12/31 imyutaro
    • sawarabi01302021/12/30 sawarabi0130
    すべてのユーザーの
    詳細を表示します

    同じサイトの新着

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

    いま人気の記事

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

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

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

    新着記事 - テクノロジー

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

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