[英]How To Limit Max Execution Time for Java App from Command Line
從命令行執行Java應用程序時,如何限制最大執行時間,如下所示:
java -Xmx10G -cp /weka/weka.jar weka.classifiers.trees.J48 -t /test/test-vector.arff -d /test/test.model
我不相信Java內置了什么可以為您完成此操作。 選項:
作為后者的一個示例,在類似Unix的系統上的bash中,可以在開始該過程之前使用ulimit -t [seconds]
。
編輯:正如評論中指出的那樣,尚不清楚使用ulimit進行這樣的關閉有多優雅-線程是否會以足夠有禮貌的方式被殺死以允許finally塊執行等。這可能值得測試。
編輯:再次根據注釋,ulimit限制CPU時間,而不是整個牆面時間。 這可能是,也可能不是,這取決於您的進程是否受CPU限制。
好了,您可以使用Java的調度程序在一定時間后關閉應用程序:
http://download.oracle.com/javase/1,5.0/docs/api/java/util/Timer.html
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.