본문 바로가기

카테고리 없음

2020-05-21 20시 개발자 글 모음 | "MAC에서 특정 포트 서비스 죽이기 " 외 2개 이야기

Java process exec, waitFor(), hang/deadlock by 김동범 about Java,Spark

  • 정확히는 자바 어플리케이션 내부에서 Spark 어플리케이션을 실행하고 waitFor로 작업이 마무리 되었을 때 그 다음 작업을 진행시키는 배치가 맛이 가버린 내용이다
  • 문제는 명령어의 입력값이 커지면서 스파크(Spark) 작업이 여러번 돌게 되었고 작업이 끝나는 동안 outputstream을 한 번도 읽어주지 않음으로써 해당 버퍼가 꽉 차버리면서 정상적인 결과값을 읽지 읽어들이지 못하게 되면서 waitFor가 계속해서 끝나지 않는 상태가 되어 hang이 걸리게 되는 것이다
  • subprocess의 input stream과 또는 output stream을 즉시 읽지 못한다면 subprocess가 block되거나 심지어 deadlock에 빠질 수 있다는 것이다


나의 성장을 위한 기존의 내 방식 돌아보기 by 김영웅

  • 나에 대해 잘 알수록 내게 유리하고 안전한 성장환경을 만들고
  • 나 또는 다른 누군가의 질문에 의해 보다 쉽게 선으로 연결할 수 있습니다
  • 내 장점을 극대화하기 위해 상호보완적인 관계와 환경을 만들어야 보다 효과적인 일을 할 수 있어요


MAC에서 특정 포트 서비스 죽이기 (Address already in use) by 김동범 about Intellij

  • 간혹 intellij에서 서비스 실행시 java
  • 서비스를 실행시키려는 PORT가 이미 사용중이라서 그렇다
  • 다음과 같이 명령어를 주어서 프로세스 ID를 알아내 Kill 하자