1. 개요
IntelliJ에서 gradle build를 수행했는데, 다음과 같이 background task가 멈추는 상황이 발생했다.
2. 해결
다음과 같은 방법을 시도했으나 모두 실패했다.
- 계속 기다려보기
- 브랜치 바꿔서 빌드해보기
- IntelliJ Repair IDE 실행
- PC 재부팅
- IntelliJ 최신 버전으로 업그레이드
최후의 수단으로 로컬 터미널에서 직접 빌드해보니 "IDLE"이라는 메시지를 확인할 수 있었다.
뭔가 gradle 프로세스가 유휴상태에 빠진 것으로 보여서 공식 문서에 "gradle IDLE"이라고 검색해본 결과, gradle 대몬 프로세스가 문제인 것을 파악할 수 있었다. jps 명령어를 통해 대몬 프로세스의 PID를 찾아내고, kill -9 PID 명령어를 통해 프로세스를 제거했다.
그리고 다시 IntelliJ에서 빌드를 실행시켰더니 정상적으로 빌드가 수행되는 것을 확인할 수 있었다.
참고로 gradle 대몬의 유휴 상태는 최대 3시간까지 유지될 수 있다고 한다. 공식문서에서는 대몬 프로세스를 멈추기 위해 gradle --stop 명령을 사용하라고 했는데, 내가 해봤을 땐 대몬 프로세스가 멈춰지지 않아서 그냥 죽이는 방법을 선택했다.
해결방법을 정리하자면 다음과 같다.
- 로컬 터미널에서 gradle task를 돌리고, IDLE 메시지가 나오는지 확인한다
- jps 명령어로 대몬 프로세스 PID를 확인한다
- kill -9 PID 명령어로 프로세스를 종료시키고, 다시 task를 수행한다
3. 참고
https://docs.gradle.org/current/userguide/gradle_daemon.html
Gradle Daemon
The Gradle JVM client sends the Daemon build information such as command line arguments, project directories, and environment variables so that it can run the build. The Wrapper is responsible for resolving dependencies, executing build scripts, creating a
docs.gradle.org