JPSコマンドの出力からそのIDを抽出して、 "jps"コマンドを実行してすべてのJVMを表示し特定のJVMを強制終了するJavaプログラムを作成しました。私がubuntuターミナルで実行すると、うまくいきます。しかし、私は他のマシンからそのマシンをsshし、そこでこのプログラムを実行するためのスクリプトをbashに書いていました。Javaプログラムは実行されますが、bashスクリプトでは実行されません
ssh $host "java -cp daemon.jar JVMname;"
ここで問題が発生します。
Exception in thread "main" java.io.IOException: Cannot run program "jps": error=2, No such file or directory at java.lang.ProcessBuilder.start(ProcessBuilder.java:1029) at runtime.daemon.halt.main(halt.java:19)
Caused by: java.io.IOException: error=2, No such file or directory at java.lang.UNIXProcess.forkAndExec(Native Method) at java.lang.UNIXProcess.<init>(UNIXProcess.java:135)
at java.lang.ProcessImpl.start(ProcessImpl.java:130)
at java.lang.ProcessBuilder.start(ProcessBuilder.java:1021)
私は自分でマシンに行き、この同じコマンドを実行します。私はエグゼクティブ・ソリューションに切り替えたくない。
任意のアイデア おかげ
これは、この質問に重複している(インタラクティブシェル):http://stackoverflow.com/questions/940533/how-do-i-set-path-such-that-ssh-userhost-command-works – nwinkler
リモートサーバの '〜/。 bashrc'ファイル? – nwinkler