Java 프로그램에서 x 터미널을 시작합니다. Java는 x-terminal 명령이 시작되기를 기다립니다. (개발자를위한 Datastore 에뮬레이터입니다.)
Process proc = Runtime.getRuntime().exec("/usr/bin/x-terminal-emulator -e gcloud beta emulators datastore start");
proc.waitFor();
일부 Ubuntu 개발자 컴퓨터에서는 process.waitFor()
명령이 시작되는 즉시 반환됩니다. (명령은 해당 터미널에서 계속 실행됩니다.) 이것은 의도 된 동작입니다.
다른 Ubuntu 개발자 시스템에서는 process.waitFor()
블록이 영구적으로 반환되지 않습니다. (그러나 터미널 명령 이 시작되었으며 기본 Java 프로세스를 종료하면 해당 터미널 명령이 계속됩니다.)
이러한 행동 차이의 원인은 무엇입니까?
/usr/bin/x-terminal-emulator
같은 단말의 다양한 구현을 가리킬 수 심볼릭 링크 gnome-terminal
또는 konsole
다른 사람들이. 각 터미널에는 고유 한 논리가있을 수 있지만 일부 프로그램에서는 처음에 "마스터"프로세스를 연 다음 후속 열 때 단순히 이미 실행중인 프로세스에 다른 터미널을 생성하거나 다른 탭을 열도록 지시하는 것이 일반적입니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다