プログラムは/ tmpの一時ファイルを削除する必要がありますか?

プログラムは/ tmpの一時ファイルを削除する必要がありますか?

この機能を使用して作成された一時ファイルを使用するプログラムがありますmkstemps。これらのファイルは/tmpディレクトリ内に作成されます。

プログラムが終了すると、これらのファイルは自動的に削除されますか?

私のプログラムが終了する前にこれらのファイルを削除する必要があるかどうかを知りたいです。自動的に削除されない場合は削除せずに保存できますか/tmp?それとも、プログラムが終了する前に使用または削除する方がunlink良い方法ですか?remove

ベストアンサー1

次のいずれかによって生成されたファイルmkstemp関数系列プログラム終了時に自動的に削除されません。内容に合わせて保存することを選択できます/tmp。これは通常定期的にクリーンアップされますが、これはやや恥ずかしいことです。

この問題をきれいに処理する2つの主な方法があります。

  • 別のプロセスで一時ファイルを開く必要がない場合、またはファイル記述子を渡してそれを処理できる場合は、返すとすぐにmkstempsファイルを削除できます。ファイルは存在しますが、表示されなくなります。ディレクトリのリスト。ファイル記述子が見つかるとclose削除されます。
  • atexitそれ以外の場合は、ファイルを削除するためのシャットダウン機能を登録してください。

おすすめ記事