CodeGym
AI Academy
프로모션
CodeGym University
학습
강좌
과제
설문 & 퀴즈
게임
도움말
일정
커뮤니티
사용자
포럼
채팅
아티클
성공 사례
활동
후기
구독
라이트 테마

강의

  • 리뷰
  • 회사 소개
시작
학습 시작
Start learning now
  • 진행 상황
  • 코스
  • 퀘스트 맵
  • 레슨
  • ProcessBuilder — 외부 프로세스 실행

    JAVA 25 SELF
    레벨 61,레슨 0
    Java에서 ProcessBuilder 클래스를 사용해 외부 명령과 유틸리티를 실행하는 방법을 살펴봅니다: Runtime. getRuntime(). exec() 대비 장점, directory()로 작업 디렉터리를 설정하는 법, environment()로 환경 변수를 구성하는 법, 그리고 start(), waitFor(), getInputStream()/ getErrorStream()/ getOutputStream() 스트림으로 프로세스를 제어하는 방법을 다룹니다. 크로스플랫폼 이슈( cmd.exe/ ls), stdout/ stderr 처리와 흔한 실수도 함께 논의합니다.
    사용 가능
  • 프로세스 출력 읽기, stdin/stdout 다루기

    JAVA 25 SELF
    레벨 61,레슨 1
    Java에서 외부 프로세스를 다루는 실습: stdout를 Process.getInputStream()으로 읽고, stderr의 오류는 Process.getErrorStream()으로 받고, stdin에는 Process.getOutputStream()으로 쓰는 방법, 그리고 편리한 메서드 inputReader()/ errorReader()/ outputWriter() 사용법. java -version 같은 명령의 특성, deadlock을 피하기 위한 스트림 병렬 읽기, 인코딩 처리( "UTF-8"), 그리고 Python 스크립트와의 간단한 브리지도 살펴봅니다.
    사용 가능
  • 프로세스 생명 주기 관리

    JAVA 25 SELF
    레벨 61,레슨 2
    Java에서 외부 프로세스를 제어하는 실전: waitFor()로 종료를 기다리기(타임아웃 포함), 종료 코드 읽기, destroy()/ destroyForcibly()로 올바르게 중지하기, 출력 스트림과 예외를 잊지 않으면서 멈춤과 좀비 프로세스를 방지하기. 크로스 플랫폼 특성과 흔한 실수를 함께 다룹니다.
    사용 가능
  • 프로세스와의 대화형 상호작용

    JAVA 25 SELF
    레벨 61,레슨 3
    이 강의에서는 Java에서 외부 프로그램과 “대화형”으로 소통하는 방법을 살펴봅니다: stdin에 쓰고, stdout과 stderr에서 읽고, 상호 교착 상태( deadlock)를 피하며, ExecutorService로 출력을 병렬 처리하고, 스트림을 올바르게 닫은 뒤 ProcessBuilder를 통해 Process의 생명 주기를 관리하는 방법까지 다룹니다. 또한 Python 대화형 스크립트와 bc 유틸리티 예제를 보고, 버퍼링의 함정과 flush() 필요성도 살펴봅니다.
    사용 가능
  • 프로세스 작업 시 흔한 오류 분석

    JAVA 25 SELF
    레벨 61,레슨 4
    Java에서 외부 프로세스를 안정적으로 다루기 위한 실용 가이드: 읽히지 않은 출력 스트림 stdout/ stderr 때문에 발생하는 멈춤을 피하고, 출력 인코딩(예: UTF-8, CP866)을 올바르게 설정하며, 명령의 크로스 플랫폼 차이( ls vs dir)를 고려하고, process.exitValue()로 권한과 종료 코드를 처리하고, 리소스를 누수 없이 닫으며 대화형 상호작용의 상호 교착을 피하는 방법을 다룹니다. 또한 ProcessBuilder의 올바른 사용, 스트림 병렬 읽기(스레드/ ExecutorService), process.destroy()를 통한 올바른 종료, File.separator로 플랫폼 독립 경로를 사용하는 방법을 설명합니다.
    사용 가능
학습
  • 등록
  • Java 과정
  • 과제 도움
  • 요금
  • Java 문법
커뮤니티
  • 사용자
  • 아티클
  • 포럼
  • 채팅
  • 성공 사례
  • 활동
  • 제휴 프로그램
회사
  • 회사 소개
  • 연락처
  • 후기
  • 보도자료실
  • CodeGym for EDU
  • FAQ
  • 지원
CodeGymCodeGym 은(는) 처음부터 Java 프로그래밍을 배우기 위한 온라인 코스입니다. 이 과정은 초보자가 Java를 마스터하기에 완벽한 방법입니다. 즉시 검증 기능이 포함된 1200개 이상의 과제와 Java 기초 이론의 필수 범위를 제공합니다. 학습 성공을 돕기 위해 퀴즈, 코딩 프로젝트, 효율적인 학습법 관련 콘텐츠, Java 개발자 경력 관련 자료 등 동기 부여 기능들을 구현했습니다.
팔로우하기
인터페이스 언어
English Deutsch Español हिन्दी Français Português Polski বাংলা 简体中文 मराठी தமிழ் Italiano Bahasa Indonesia 繁體中文 Nederlands 日本語
한국어
Bulgarian Danish Hungarian Basa Jawa Malay Norwegian Romanian Swedish Telugu Thai Українська Filipino Turkish Azərbaycan Русский Vietnamese
"Programmers Are Made, Not Born" © 2026 CodeGym
MastercardVisa
"Programmers Are Made, Not Born" © 2026 CodeGym