センサーデータを8種類のファイルに記録するコンピュータがあります。 rj45ケーブルを使用して2台のマシンを接続するときに、このデータを別のコンピュータにコピーできるソフトウェアを開発しました。通常のディスクファイルでselect like関数を使用
私のコンピュータでデータを取得した後、疑似シリアル(socatを使用)を使って各ファイルの行ごとに1行ずつ送信する必要があります。
ネストされたforループを使用して、8つのファイルすべてにデータが準備されているかどうかをチェックしてから、行を抽出してputtySXに送信するプログラムを作成しました。
CPU使用率に問題があります。それを減らす方法は、データが読み込めるかどうかを知るためにブロッキング機能を使用していますが、ソケットやシリアルポートで選択するような機能はありますか?
いいえ、どうすればよいですか?ありがとう
selectはUNIXのファイル記述子で動作します –
@RichardHodges:はい、通常のファイル(つまりディスク上のファイル)の場合、常に "ready"を返すので、このアプリケーションではあまり役に立ちません。 – psmears
ディスクファイル。この時点で、私は、私がinotifyイベントとINIファイルのコンボのように、ファイルが作成されているかどうかを保存するためにいくつかのトリックを使用すると思います... – rmilville