こんにちは私はリモートオブジェクトであるクラスを持っており、メソッドを実装しました。 それから、私は地元でテストしたかっただけです。だから私はそれにメインの方法を追加しました。 それから主に、私はノートパッドを実行するruntUtilAppメソッドを呼び出しました。いくつかのスリープの後、私はメモ帳の作業を終了し、私はstopメソッドを呼び出しました。すべての実行の後、実行を終了するためにプログラムを待ちます。しかしそれはまだ働いており、終わらない。Rmi、プログラムは終了していませんか?
この理由は何ですか? 私は間違っていると思いますか?
import java.io.IOException;
import java.rmi.RemoteException;
import java.rmi.server.*;
public class ClientImp extends UnicastRemoteObject implements Remote{
private static final long serialVersionUID = 227L;
private Process proc;
/**
* constructor
*/
public ClientImp() throws RemoteException {
super();
}
public boolean runApp() throws RemoteException {
try {
Runtime rt = Runtime.getRuntime();
proc = rt.exec("notepad");
return true;
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
return false;
}
}
public boolean stopCurrentUtilApp() throws RemoteException {
proc.destroy();
return true;
}
public static void main(String[] args) {
client;
try {
ClientImp client = new ClientImp();
client.runUtilApp();
Thread.sleep(10000);
client.stopCurrentUtilApp();
} catch (RemoteException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}