単一の基本プロセスからのみソースファイルを削除する方法はありますか?
他のプロセスではこれを読み取って修正できますが、削除することはできません。プロセスはコンテンツを空にすることができますが、これらのプロセスは人間のやりとりを通じてコンテンツにアクセスするため、これは問題ではありません。
重要なのは、基本プロセスがinodeへのアクセスを失うべきではないということです。 Ext4はそうですか?絶対パスに関するものではなく、インデックスノードに関するものです。そうですか?
一部のプロセスでは、安全な書き込みを提供するために新しいファイルを書き、元のファイルを削除または名前を変更し、新しいファイルの名前を元のファイルに変更して元のファイルを削除しますが、元のinodeが失われ、基本プロセスがファイルに追加するときに再生成しようとしません。 (プロセスは同じinodeから新しいコンテンツをバックアップ、比較、書き込むことができますが、そうではありません。)
主なプロセスはどこにも書かれていないようです。
ベストアンサー1
単一の基本プロセスからのみソースファイルを削除する方法はありますか?
習慣。ファイルアクセスは、各プロセスではなくユーザーIDとグループIDに基づいて行われます。
もちろん、プロセスに別々のグループIDを付与することも、独自のユーザーとして実行することもできます。これにより、他のプロセスと同様に、別々の「カテゴリ」に配置され、別々の権限を定義できます。
これらのプロセスは人間の相互作用を介してアクセスされるため、問題はありません。
まあ、それはそれほど論理的ではありません。対話型プロセスは非対話型プロセスとまったく同じである可能性があり、通常は少なくともそれほどのバグがあります。
一部の手順では、安全な書き込みを提供するために新しいファイルを作成し、元のファイルを削除または名前を変更し、新しいファイルを元のファイルに名前を変更して元のファイルを削除します。
いいえ!逆の場合が発生します。新しいファイルに書き込み、新しいファイルの名前を古いファイルの名前に変更します。これは原子的なので、そうすることです。古いファイルは決して削除されません!プロセスの瞬間ごとに正確な名前のファイルがあります。
すべてのファイルアクセスについては、以下を参照してください。何もないしかし、追加単一write
データの場合、この原子交換は唯一の安全な方法です! (ロック構造で本当に珍しい操作を実行したい場合を除き、ほとんどのファイル形式はそのような操作を許可しません!)
したがって、自分が解決していると思う問題は何でも問題ありません。必要なものを達成するには、別の方法を見つける必要があります。
同じinodeに新しいコンテンツを書き込む
時には「inode」という言葉が消えてほしい!これは実際にはファイルシステムのディスクフォーマットの実装の詳細であり、ユーザーはそれを使用する必要があります。いいえ 処理する必要があります。本当です。ファイルシステムを開発しない限り、inodeに興味を持ち始めるとき、おそらく何か間違ったことをしているでしょう。