コマンドの出力をファイルにリダイレクトするシェルスクリプトに関するヘルプを探しています。シリアルポートとディスプレイから入力を読み取るCプログラムがあります。このデータをファイルにリダイレクトします。私は更新取得されませんfile.txtを出力をリダイレクトするシェルスクリプト
./program >> file.txt
として、私は、スクリプトファイルの書き込みしようとしている
Runtime r = Runtime.getRuntime();
Process procObj = r.exec("sh " + scriptfile);
を呼び出すことにより、Javaプログラムからこれを実行しています。ここで、ポートへの接続が失われるまで、プログラムは無限に実行されるという意味で終了しません。だから、私のプログラムはポート上のデータを探し続け、そこにあるときに表示します。 同じ出力を、ログとして使用するファイルにリダイレクトするだけです。 私はHow to make shell output redirect (>) write while script is still running?を見ましたが、役に立ちません。
親切に助けて...
この回答にお問い合わせください:http://stackoverflow.com/questions/8007871/how-to-run-a-perl-file-using-java/8008156#8008156 – bpgergo
私はごめんなさい私の質問には上記のリンクが当てはまります。私はスクリプトファイルを呼び出して実行することができます。私は通常のエコーコマンドを与えると、それが動作し、出力はファイルに非常によくリダイレクトされます。私の言ったように私のCプログラムは決して終了せず、出力はファイル内で継続的に更新する必要があります。 –
しかし、プログラムが最終的に終了すると、ファイル*は更新されますね。 – jpalecek