![ユーザースペースに1ビットの情報を保存する[閉じる]](https://linux33.com/image/63093/%E3%83%A6%E3%83%BC%E3%82%B6%E3%83%BC%E3%82%B9%E3%83%9A%E3%83%BC%E3%82%B9%E3%81%AB1%E3%83%93%E3%83%83%E3%83%88%E3%81%AE%E6%83%85%E5%A0%B1%E3%82%92%E4%BF%9D%E5%AD%98%E3%81%99%E3%82%8B%5B%E9%96%89%E3%81%98%E3%82%8B%5D.png)
ネットワークデータを収集するプログラムを作成中です。他のプロセスで読みやすいように、単純なはい/いいえなど、いくつかの情報をどこかに保存する必要があります。いくつかのオプションがあります:ファイルへの1または0の書き込み、ファイルtouch
ing / rm
ing、データベーステーブルへのフィールドの書き込みなど。私が知らない他の方法があるかもしれません。この状況で最もエレガントな解決策は何ですか?プログラムは他のデータを保存せず、特定の条件でのみ警告を出します。パフォーマンスやコーディングの容易さは問題ではありません。心が変わって2ビットに変更しても、ソリューションが動作し続けるとボーナスポイントになります。
答え1
プロセス間通信はマイナーな問題ではありません。そこには「状況に応じて」がたくさんあります。 Perlには、このトピックの完全な章があります。perlipc
ただし、あなたが説明するシナリオでは、ステータスファイルを作成し、そのflock
ファイルにデータを記録します。
これにより、flock
競合状態がなく、ファイルの長さに制限がありません。ファイルシステム権限を使用して、必要に応じてアクセス権を付与できます。