새 터미널 창을 열고 java 코드로 내 프로그램을 실행하고 싶습니다. 그래서 사용터미널 창을 열고 java에서 고객 프로그램을 실행하는 방법
Runtime.getRuntime().exec("gnome-terminal -x /path/to/my/program arg1 arg2");
이 우분투에서 잘 작동하지만, 불행히도에 CentOS에서 작동하지 않는 문제는 터미널 창을 즉시 폐쇄한다는 것이다.
stackoverflow에서 많은 시간을 검색했지만 해결책을 찾을 수 없습니다. 대단히 감사합니다 !!!
어떤 터미널 에뮬레이터/데스크톱 환경에서 이것을 사용 하시겠습니까? – Tawnos
새로운 대안 인 ProcessBuilder는 exec의 취성의 일부를 다룹니다. –
1) [Runtime.exec()이 실행되지 않을 때]에 설명 된 것처럼 새 프로세스를 만들 때 자주 범하는 실수가 있습니다. (http://www.javaworld.com/javaworld/jw-12-2000/jw-1229- traps.html). 이 기사는 프로세스가 실패했는지 확인하는 * 첫 번째 방법입니다. * 모든 * 팁을 구현하십시오. 그렇게해도 프로세스가 작동하지 않더라도 실패한 이유에 대해 훨씬 자세한 정보가 제공됩니다. 2) ProcessBuilder를 사용하여 프로세스를 생성하십시오. 3) 더 신뢰할 수있는 결과를 얻으려면'String' 기반 인수를'String []'으로 만드십시오. –