2017-12-08 4 views

답변

0

플랫폼 독립적 인 방식으로이 작업을 수행 할 수 없습니다.

유닉스/리눅스에서 fork() 시스템 콜을 호출하면 프로세스가 중복됩니다. Java에서는 전체 JVM을 복제한다는 의미입니다. 그런 다음 부모 프로세스인지 하위 프로세스인지 확인해야합니다.이 프로세스는 fork() 호출에서 제공하는 프로세스 ID에서 확인할 수 있습니다. 상위 프로세스 인 경우 종료합니다. 자식 프로세스 인 경우 표준 입력, 표준 출력 및 표준 오류를 닫아야합니다.

Windows에서 FreeConsole 기능이있는 것으로 보입니다. 그러나 Windows 프로그래밍과 관련해서는 알지 못합니다.

따라서 플랫폼을 파악한 JNA 라이브러리를 작성하고이를 수행하기위한 적절한 호출을 호출 할 수 있습니다. 하지만 Java 응용 프로그램을 시작할 때 콘솔 창을 없애는 것이 가장 좋은 방법은 아닙니다.