"jps"명령을 실행하고 모든 JVM을보고 JPS 명령의 출력에서 해당 ID를 추출하여 특정 JVM을 종료하는 Java 프로그램을 작성했습니다. 그것은 우분투 터미널에서 실행할 때 잘 작동합니다. 그런 다음 다른 머신에서 해당 머신을 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)
내가 직접 컴퓨터에 가서이 동일한 명령을 실행하면. 나는 exec 해결책으로 바꾸고 싶지 않다.
어떤 아이디어 감사
이 상호 작용이 질문에 중복 (이다 (이것은 대부분의 다른 쉘은 로그인 쉘과 비 로그인 쉘 초기화 파일 사이에 유사한 차이가 있지만. 당신이 쉘 떠들썩한 파티를 사용하는 가정합니다) 쉘) : http://stackoverflow.com/questions/940533/how-do-i-set-path-such-that-ssh-userhost-command-works – nwinkler
원격 서버의'~ /. bashrc' 파일? – nwinkler