私はSSHサーバーを実行しており、JavaFXアプリケーションを閉じて開く必要があります。 freeSSHdとJSCHを使用して、私が使用してアプリケーションを終了することができました:リモートサーバー(JSCH)でアプリケーションを開くときの対話型サービスの検出
sendCommand("wmic Path win32_process Where \"CommandLine Like '%Test.jar%'\" Call Terminate");
上記のコマンドは問題なくアプリケーションを閉じます。
私はアプリケーションを再起動する必要がある場合は、私が使用しようとしています:
sendCommand("cmd /c cd C:/Test/dist && java -jar Test.jar");
何が起こることは対話型サービスの検出からのウィンドウがメッセージを開くことである:「このコンピュータ上で実行中のプログラムをしようとしていますメッセージを表示する "。メッセージを開くと、JavaFXアプリケーションが表示されます。
これを表示せずに、リモートコンピュータ上で直接JavaFXアプリケーションを開く必要があります。この動作は正常ですか? SSH(JSch)を使ってこれを達成できますか?私はPSExecが代わりであることを知っていますが、すべてのクライアントコンピュータにインストールする必要があります。
PuTTYコンソールでコマンドを実行すると同じことが起こります。
「セッション0アイソレーション」に関連していると思いますが、私はこれが何を意味するのか分かりません。
「リモートコンピュータで直接」*とはどういう意味ですか? –
@MartinPrikryl私はそれを普通に開けるのでアプリケーションを開く必要があります(瓶をダブルクリックしますが、遠隔に) –