私は、入力ファイルからサーバのリストを1つずつ取り出し、各サーバでいくつかのコマンドを実行するスクリプトを持っています。最初のプロセスの入力に影響を与えずにこのスクリプトが実行されている間に入力ファイルを更新し、2番目のサーバーリストでスクリプトを再実行したいと考えています。これは安全に行うことができますか?プロセスがいつ読み込むファイルを取得するか
答えて
あなたはfile
に位置file > my_script
内容のようなコマンドを実行します(file descriptorとして)my_script
にパイプされています。これにより、名前から内容が切り離されます。つまり、すぐに別のプロセスでfile
を変更/置き換えることができます。これ
あなたの代わりに(など、それを削除し、またはそれへの書き込み)の任意の時点でそのファイルから読み取ることがある、あなたはmy_script
に名前「ファイル」を渡しているmy_script file
のようなコマンドを実行する場合は、スクリプトが実行されている間に安全にfile
を変更することはできません。特にこれはすぐには起こらない。実行中のプロセスでは、すでにファイルを編集してから、かなり遅くまでfile
から読み取ることができません。
したがって、stdinから読み込むようにプログラムを設計した場合、入力ファイルを安全に修正して、最初のプロセスがまだ実行中のときにコマンドを再実行することができます。
ありがとうございました.. –
@AravindVijayanうれしいです! – dimo414
あなたのプロセスは動作していて、ファイルを変更したい場合は、ファイルをmvして新しい入力ファイルをコピーします。このようにして、プロセスが入力ファイルをメモリに完全に読み込んでいない場合、プロセスは以前のファイルに対して開いているファイル記述子を持ち、影響を受けずに実行されます。もちろん、これはプロセスの実装方法によって異なります。実行中にファイルを再オープンしようとすると、新しいファイルの内容が表示されます。
process inputfile
mv inputfile inputfile.running
mv newinput inputfile
ありがとうございます。ありがとうございました、forループがbashスクリプトでサーバー名を1つずつ読み込むようになっていると思います。入力ファイルからエンティティを削除して新しいサーバー名を指定して同じスクリプト –
- 1. ファイルから読み込む
- 2. ファイルから読み込む
- 3. Javaソケットからバイトを読み込む:ArrayIndexOutOfBoundsを取得する
- 4. 入力からファイルを読み込むためのパスを取得する
- 5. pickleファイルを読み込む
- 6. ファイルを読み込む(FORTRAN)
- 7. ストリームを含むファイルを読み込む
- 8. 読み込む設定ファイル
- 9. JavaScriptからファイルを読み込む
- 10. perlをindex.htmlファイルから読み込む
- 11. ファイルからテキストを読み込む
- 12. "メインではない"プロセスでコンソールから読み込む方法
- 13. ファイルから読み込み、Javaのファイルに書き込む
- 14. ファイルを1行ずつ読み込むときのパフォーマンス対ファイル全体を読み込むときの比較
- 15. Java copy-overwriteファイル。読み込み時に古いファイルを取得する
- 16. javascript変数からjsonを取得して読み込む
- 17. PyQt4新しいUIファイルを1つのメインウィンドウに読み込む
- 18. params.iniファイルから読み込むPHPスクリプト
- 19. ファイルから読み込むC++(シンプル)
- 20. C#ファイルから読み込む
- 21. ファイルから読み込む問題
- 22. ファイルから読み込むJList scollペインプログラム
- 23. PHP:ファイルから読み込むと
- 24. tomlファイルから読み込むjava
- 25. フォルダからすべてのファイルを読み込んで読み込むPython
- 26. データが入っているPIGのファイルを読み込む
- 27. サーバーからデータを取得中に読み込み中の画面を読み込む
- 28. C++ファイルから読み込むことができず、ベクターに読み込むことができません
- 29. EPPlusを使用してExcelファイル(xlsx)を取得/読み込む方法
- 30. MathJax:Mathjaxの読み込みプロセスを隠す
私は、あなたが「*プログラムがそれを読んでいる間にファイルに書き込むと、何が起こるのですか?」という質問をしていると思います* * - それは間違いありませんか? – dimo414
はい、私はプロセスがすべてのリソースを取得するとき、ここのファイルからの入力のように知りたいと思っています。 –
入力ファイルへの書き込み、入力ファイルの内容全体の置換 –