私は、入力ファイルからサーバのリストを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. Hazelcast C#2つの異なるプロセスから読み込みを書き込む
- 2. URIから取得したJsonファイルを読み込む - Marklogic
- 3. ファイルから読み込む
- 4. ファイルから読み込む
- 5. Javaソケットからバイトを読み込む:ArrayIndexOutOfBoundsを取得する
- 6. 入力からファイルを読み込むためのパスを取得する
- 7. ファイルからデータを読み込む際に "undefined"を取得する
- 8. ファイルを読み込む(FORTRAN)
- 9. ファイルを読み込むpython
- 10. pickleファイルを読み込む
- 11. ディスクからファイルを読み込み、いくつかの余分な文字を読み込む
- 12. ストリームを含むファイルを読み込む
- 13. Linux:1つのプロセスでシリアルポートからデータを読み取り、別のプロセスでデータを書き込む
- 14. 読み込む設定ファイル
- 15. "メインではない"プロセスでコンソールから読み込む方法
- 16. ファイルから配列を読み込む
- 17. perlをindex.htmlファイルから読み込む
- 18. ファイルからツリーマップを読み込む(Java)?
- 19. ファイルからテキストを読み込む
- 20. ファイルからデータを読み込む
- 21. Excelファイルからセレンを読み込む
- 22. JavaScriptからファイルを読み込む
- 23. ファイルから設定を読み込む
- 24. ファイルから読み込み、Javaのファイルに書き込む
- 25. リストボックスを読み込むにはrichtextBoxを取得する方法
- 26. ファイルを1行ずつ読み込むときのパフォーマンス対ファイル全体を読み込むときの比較
- 27. Java copy-overwriteファイル。読み込み時に古いファイルを取得する
- 28. Python - S3バケットから取得したCSVファイルを読み込むには?
- 29. javascript変数からjsonを取得して読み込む
- 30. PHP:ファイルから読み込むと
私は、あなたが「*プログラムがそれを読んでいる間にファイルに書き込むと、何が起こるのですか?」という質問をしていると思います* * - それは間違いありませんか? – dimo414
はい、私はプロセスがすべてのリソースを取得するとき、ここのファイルからの入力のように知りたいと思っています。 –
入力ファイルへの書き込み、入力ファイルの内容全体の置換 –