2012-01-02 19 views
1

Javaアプリケーションを自分自身で削除してから、Mac/Linux OS上でJavaアプリケーションを終了するにはどうすればよいですか?私はカップルのRuntimeコマンドを試しましたが、どれも動作していないようです。多分このようなJavaプログラムの削除(Mac/Linux)

何か:

try { 
    Runtime.getRuntime().exec(new String[]{"/bin/sh", "-c", "rm \"" + getRunningJarPath() + "\""}); 
} catch (final IOException e) {} 

注:メソッド:getRunningJarPathは正確です。

+0

なぜrmは機能しませんか? –

+0

あなたは、私はWindowsコンピュータを実行していることがわかります。私は、このコードがMac/Linux用に動作することを完全に確かめたいと思っています。 – Confiqure

+2

確認したい場合は、プラットフォームでテストしてください。 LinuxはVMwareのプレーヤーでうまく動作します。 –

答えて

1

一般的に遅延した後に開始されること、ファイルを削除するcronジョブを作成することができ、それは不可能です:あなたのプログラム自体を削除する権利を持っていないが起こることがあります。

さらに、問題があります。プログラムが実行されている間、JVMはJARに読み取りロックを保持しているため、すぐに削除できない可能性があります。

通常、終了コードをチェックし、必要に応じてファイルを削除するスクリプトからプログラムを実行します。

+2

UNIXベースのシステムでは、開いたままファイルを削除することができます。 –

+0

これは基本的なファイルシステムに依存しますが、どのファイルシステムがあるかは事前に分かりません。 – alf

+0

いいえ、オペレーティングシステムによって異なります。 –

0

あなたは

+0

コードサンプルお願いしますか? – Confiqure

+0

これは、http://www.thesitewizard.com/general/set-cron-job.shtml – nidhin

+0

http://www.cronjob.com/cron-job-tutorials.html cronジョブの設定に役立ちます – nidhin

0

あなたはなぜプログラムを後で削除したいのかを述べていません。

とにかく、自分でファイルシステムを操作する必要はありません。代わりにJava WebStartを調べることをお勧めします。これは、必要なすべてのファイルシステムのキャッシュ(有効期限を含む)を提供するためです。

関連する問題