ラズベリーパイからサーバにデータを送信しているラズベリーパイに簡単なJavaコードを書いていました。プログラムを手動で実行するのではなく、そのプログラムがバックグラウンドで自動的に10秒ごとに実行され、その時間が経過した後に新しいデータがサーバーに送信されるようにします。ラズベリーパイはRaspbian OSで動作しています。 これはどのようにすればいいですか?特定の時間間隔ごとにバックグラウンドでJavaプログラムを実行する方法は?
答えて
cron
などから定期的にジョブを実行するか、デバイス上のサービスとして実行される長期実行プロセスにアプリケーションを変更し、独自のスケジューリングを実行するという2つの選択肢があります。 Quartz(http://www.quartz-scheduler.org/)のようなライブラリを使用して後者を行うことができます。長時間実行されているジョブのわずかな利点は、ジョブを起動するとき(JVMの初期化とティアダウン)のペナルティを小さくすることができます。
私はcronについてよく分かりません。どのように私はJavaファイルを実行するためにcronを使用できますか?私は単一のJavaのproramを持っているので、どこに追加すればよいですか? –
Thread
を使用して、特定の時点でコードを実行できます。
例:
Thread thread = new Thread(new Runnable(){
@Override
public void run() {
while(true){
try{
//your code
Thread.sleep(10*1000);//this is poll interval
}catch(InterruptedException e){
e.printStackTrace();
}
}
}
});
thread.setDaemon(true);
thread.start();
あなたが代わりにあなたのアプリケーションのためのThread
をjava.util.Timer
を使用することができます。
Timer timer = new Timer();
timer.schedule(new TimerTask() {
@Override
public void run() {
//write your code here
System.out.print(new Date() + "\n");
}
}, 0, 1000);
私はそれがあなたの問題を解決する最も簡単な方法だと思います。
これについての回答が見つかりました。 crontabを使用すると、特定の時間間隔でタスクを実行できます。 は、Javaファイルのためには、jarファイルを作るために持っていて、一人一人分後に実行したい場合は、その後、その後のcrontabの構文は
- javaのです - jar /path_of_your_jar_file/File_name.jar
しかし、ここでの問題は、あなたのタスクは1分ごとに繰り返されています。だから10秒後にそれをしたいのなら、スレッドスリープを使用する必要があります。スレッドの睡眠のための コード
Timer timer = new Timer();
timer.schedule(new TimerTask() {
@Override
public void run() {
method_name();
}
},0,10000);
- 1. 特定の時間間隔でCプログラムを実行するPythonスクリプト
- 2. iPhoneで特定の時間間隔でバックグラウンドから位置を実行する方法
- 3. スケジューリングR機能ごとに特定の時間間隔
- 4. 特定の時間の後に実行するJavaプログラム
- 5. バックグラウンドで1時間ごとにメソッドを実行するC#
- 6. 特定の間隔でプログラムを実行する
- 7. 特定の時間間隔の後にコードを実行すると、C#.NET
- 8. 特定の時刻に起動し、特定の間隔で実行する
- 9. Jmeter-Thread-一定の時間間隔でユーザーのセットを実行する方法
- 10. 時間間隔でループを実行するJava
- 11. Javaプログラムで一定の時間間隔で何かを起こすには?
- 12. 一定の時間間隔の後、一定の時間間隔の間に実行するスケジューラタスクを設定する方法
- 13. 時間間隔ごとに行を選択します。
- 14. Greasemonkeyスクリプトで特定の時間間隔でURLをロードする方法は?
- 15. 固定間隔の後、一定の時間間隔でのみラクマータイマーを実行するには
- 16. django celery:特定の間隔でプログラムで実行するようにタスクを設定する方法
- 17. iOSで約300秒の時間間隔で1日か2日間、バックグラウンドでNSTimerを実行するには?
- 18. 指定された時間間隔でメソッドを実行する
- 19. 実行時にカスタムコミット間隔を実装する方法
- 20. セレンのWebドライバで特定の時間間隔でテストケースをループする方法
- 21. 特定の時間間隔で2回に分割する方法
- 22. 時間間隔で実行可能ファイルを実行するバッチファイル
- 23. 指定された時間プログラムを実行する方法は?
- 24. アプリがバックグラウンド時にキャンセルする間隔
- 25. Meteorで時間間隔ごとにパブリッシュ/サブスクライブする
- 26. Java - Jodaとの時間間隔を定義する
- 27. ランダムな時間間隔で無作為に実行を中断する方法
- 28. UIDatePickerViewの時間間隔を設定する方法は?
- 29. 実行コード24時間ごとに、私のアプリの設定ページでのみ、特定の時間の後
- 30. 特定の時間間隔のデータをPythonで取得する
で、これは[クーロン](https://www.raspberrypi.org/documentation/linux/usage/cron.md)のための作業ではありませんか? (無意味な意図はありません) –
cronを使って単一のJavaプログラムを実行するには?実行するJavaプログラムのjarファイルを作成する必要がありますか? –
使用しているOSについてもっと詳しくお知らせください – Xyaren