これまで、私は自分のアプリケーションをスタンドアロン製品として使用していました。それで、ユーザーが「停止」ボタンを押したとき、私は電話System.exit(0);
をしました、そしてそれは大丈夫でした。
これで、私のアプリケーションは別のプログラムから(プログラム的に)呼び出されます。ですから、それSystem.exit(0);
は私のプロセスだけでなく、私のプログラムを開始した外部ソフトウェアも殺してしまうのではないかと心配しています。
では、外部ソフトウェアから対応するリクエストを受け取った場合にアプリケーションをシャットダウンする正しい方法は何ですか?私のアプリケーションはGUIアプリケーションです。したがって、ウィンドウを閉じたいのですが、プログラムによって実行されたすべてのプロセスも閉じたいのです。
追加した:
具体的には、プログラムによって開始されたすべてのスレッドを閉じたいと思います。私のプログラムはOSプロセスや他のプログラムを開始しません。