Files
aidanpark--openclaw-android/docs/disable-phantom-process-killer.ko.md
2026-07-13 13:16:30 +08:00

7.1 KiB

Android에서 프로세스 라이브 상태 유지

OpenClaw는 서버로 동작하므로 Android의 전원 관리 및 프로세스 종료 기능이 안정적인 운영을 방해할 수 있습니다. 이 가이드에서는 프로세스를 안정적으로 유지하기 위한 모든 설정을 다룹니다.

개발자 옵션 활성화

  1. 설정 > 휴대전화 정보 (또는 디바이스 정보)
  2. 빌드 번호를 7번 연속 탭
  3. "개발자 모드가 활성화되었습니다" 메시지 확인
  4. 잠금화면 비밀번호가 설정되어 있으면 입력

일부 기기에서는 설정 > 휴대전화 정보 > 소프트웨어 정보 안에 빌드 번호가 있습니다.

충전 중 화면 켜짐 유지 (Stay Awake)

  1. 설정 > 개발자 옵션 (위에서 활성화한 메뉴)
  2. 화면 켜짐 유지 (Stay awake) 옵션을 ON
  3. 이제 USB 또는 무선 충전 중에는 화면이 자동으로 꺿지지 않습니다

충전기를 분리하면 일반 화면 꺿짐 설정이 적용됩니다. 서버를 장시간 운영할 때는 충전기를 연결해두세요.

충전 제한 설정 (필수)

폰을 24시간 충전 상태로 두면 배터리가 펽창할 수 있습니다. 최대 충전량을 80%로 제한하면 배터리 수명과 안전성이 크게 향상됩니다.

  • 삼성: 설정 > 배터리 > 배터리 보호최대 80% 선택
  • Google Pixel: 설정 > 배터리 > 배터리 보호 → ON

제조사마다 메뉴 이름이 다를 수 있습니다. "배터리 보호" 또는 "충전 제한"으로 검색하세요. 해당 기능이 없는 기기에서는 충전기를 수동으로 관리하거나 스마트 플러그를 활용할 수 있습니다.

배터리 최적화에서 Termux 제외

  1. Android 설정 > 배터리 (또는 배터리 및 기기 관리)
  2. 배터리 최적화 (또는 앱 절전) 메뉴 진입
  3. 앱 목록에서 Termux 를 찾아서 최적화하지 않음 (또는 제한 없음) 선택

메뉴 경로는 제조사(삼성, LG 등)와 Android 버전에 따라 다를 수 있습니다. "배터리 최적화 제외" 또는 "앱 절전 해제"로 검색하면 해당 기기의 정확한 경로를 찾을 수 있습니다.

Phantom Process Killer 비활성화 (Android 12+)

Android 12 이상에는 Phantom Process Killer라는 기능이 포함되어 있어, 백그라운드 프로세스를 자동으로 종료합니다. 이로 인해 Termux에서 실행 중인 openclaw gateway, sshd, ttyd 등이 예고 없이 종료될 수 있습니다.

증상

Termux에서 다음과 같은 메시지가 보이면 Android가 프로세스를 강제 종료한 것입니다:

[Process completed (signal 9) - press Enter]
Process completed signal 9

Signal 9 (SIGKILL)는 어떤 프로세스도 가로채거나 차단할 수 없습니다 — Android가 OS 수준에서 종료한 것입니다.

요구사항

  • Android 12 이상 (Android 11 이하는 해당 없음)
  • Termuxandroid-tools 설치 (OpenClaw on Android에 포함)

1단계: Wake Lock 활성화

알림 바를 내려서 Termux 알림을 찾으세요. Acquire wakelock을 탭하면 Android가 Termux를 중단시키는 것을 방지할 수 있습니다.

Acquire wakelock 탭 Wake lock held

활성화되면 알림에 **"wake lock held"**가 표시되고 버튼이 Release wakelock으로 바뀝니다.

Wake lock만으로는 Phantom Process Killer를 완전히 막을 수 없습니다. 아래 단계를 계속 진행하세요.

2단계: 무선 디버깅 활성화

  1. 설정 > 개발자 옵션으로 이동
  2. 무선 디버깅 (Wireless debugging)을 찾아서 활성화
  3. 확인 다이얼로그가 나타나면 — **"이 네트워크에서 항상 허용"**을 체크하고 허용
무선 디버깅 허용

3단계: ADB 설치 (아직 설치하지 않은 경우)

Termux에서 android-tools를 설치합니다:

pkg install -y android-tools

OpenClaw on Android를 설치했다면 android-tools가 이미 포함되어 있습니다.

4단계: ADB 페어링

  1. 무선 디버깅 설정에서 페어링 코드로 기기 페어링 (Pair device with pairing code) 탭

  2. Wi-Fi 페어링 코드IP 주소 및 포트가 표시된 다이얼로그가 나타남

    페어링 코드 다이얼로그
  3. Termux에서 화면에 표시된 포트와 코드를 사용하여 페어링 명령을 실행합니다:

adb pair localhost:<페어링_포트> <페어링_코드>

예시:

adb pair localhost:39555 269556
adb pair 성공

Successfully paired가 표시되면 성공입니다.

5단계: ADB 연결

페어링 후 무선 디버깅 메인 화면으로 돌아가세요. 상단에 표시된 IP 주소 및 포트를 확인합니다 — 이 포트는 페어링 포트와 다릅니다.

무선 디버깅 페어링 완료

Termux에서 메인 화면에 표시된 포트로 연결합니다:

adb connect localhost:<연결_포트>

예시:

adb connect localhost:35541

connected to localhost:35541이 표시되면 성공입니다.

페어링 포트와 연결 포트는 다릅니다. adb connect에는 무선 디버깅 메인 화면에 표시된 포트를 사용하세요.

6단계: Phantom Process Killer 비활성화

다음 명령을 실행하여 Phantom Process Killer를 비활성화합니다:

adb shell "settings put global settings_enable_monitor_phantom_procs false"

설정이 적용되었는지 확인합니다:

adb shell "settings get global settings_enable_monitor_phantom_procs"

출력이 false이면 Phantom Process Killer가 성공적으로 비활성화된 것입니다.

Phantom Process Killer 비활성화 완료

참고 사항

  • 이 설정은 재부팅해도 유지됩니다 — 한 번만 하면 됩니다
  • 이 과정을 완료한 후 무선 디버깅을 켜둘 필요는 없습니다. 꺼도 됩니다
  • 일반 앱 동작에는 영향을 주지 않습니다 — Termux의 백그라운드 프로세스가 종료되는 것만 방지합니다
  • 폰을 초기화하면 이 과정을 다시 수행해야 합니다

추가 참고

일부 제조사(삼성, 샤오미, 화웨이 등)는 자체적으로 공격적인 배터리 최적화를 적용하여 백그라운드 앱을 종료시킬 수 있습니다. Phantom Process Killer를 비활성화한 후에도 프로세스가 종료되는 경우, dontkillmyapp.com에서 기기별 가이드를 확인하세요.