簡體   English   中英

重復執行Java文件

[英]Repeated execution of a java file

我有一個要在計算機上重復執行的Java文件。 文件的上一個執行實例結束后,應自動執行該文件。 如何實現呢?

在循環調用可執行文件中使用bash腳本

for i in 1 2 3 4 5 .. N
do
    java executable
done

Java提供了一個程序可以在您(或其他人)編寫程序時運行的環境。

具體的操作系統將決定如何啟動該程序。 如果要在每次上一個副本完成時啟動程序,則需要用該操作系統支持的腳本語言用循環包裝Java程序的啟動,或將程序轉換為系統服務/守護程序。

還存在其他技術,但是它們實際上並沒有在第一個程序完成啟動第二個程序。 他們要么:

  1. 立即啟動該程序的第二個副本(除非已找到)。 該程序在檢測到“啟動程序”正在運行時不執行任何操作。 一旦失去一個進程,第二個進程將負責處理(並啟動其備用故障轉移)。

  2. 捕獲關閉/崩潰事件並在退出時啟動該程序的副本,該副本實際上實際上同時運行兩個程序,但是持續時間很短。 這通常是完成的; 但是從技術上講,這是不合理的,因為在啟動新進程之前,程序可能會以多種方式崩潰。

您可以編寫一個在Windows和Linux上均可使用的簡單perl或python腳本。

#!/usr/bin/perl
$N = 100;
for($i = 0; $i < $N; $i++){
    system('/full/path/to/java -cp full_class_path my.class.Name');
}

您可以在Java文件中調用此腳本,也可以在命令行中執行該腳本。

Runtime.getRuntime().exec("perl script.pl")

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM