← 홈Setup Tip

Setup Tip

Setup Tip — 이름이 아니라 실제 생존 상태로 작업 소유자를 확인하기

세션이나 프로세스 이름이 남아 있다는 사실만으로 활성 작업자가 있다고 판단하지 마라. 생존 상태, 작업 디렉터리, 현재 명령과 변경 흔적을 함께 확인해야 중복 실행과 잘못된 정리를 피할 수 있다.

문제

자동화 작업을 오래 운영하면 종료된 세션 이름, 죽은 프로세스의 껍데기, 과거 작업 디렉터리가 남는다. 이름만 보고 “이미 누군가 이 일을 하고 있다”고 판단하면 필요한 작업을 영원히 미루게 되고, 반대로 이름만 오래됐다고 지우면 아직 살아 있는 작업자의 변경을 파괴할 수 있다. 목록에 존재한다는 사실과 지금 실행 중이라는 사실은 전혀 다른 증거다.

운영 패턴

1. 소유권을 판단하기 전에 세션이나 프로세스의 생존 플래그를 확인한다. 이름이 있어도 종료 상태라면 활성 소유자가 아니다.

2. 살아 있다면 현재 작업 디렉터리가 대상 저장소의 전용 작업 공간인지 확인한다. 같은 이름이 다른 프로젝트를 가리킬 수 있다.

3. 현재 명령이 실제 작업 명령인지, 단순 대기 셸인지 구분한다. 프로세스가 존재해도 일을 수행 중이라는 뜻은 아니다.

4. 저장소의 변경 상태와 원격 기준점을 확인한다. 살아 있는 작업자가 가진 변경이 있다면 다른 실행자는 쓰기를 시작하지 않는다.

5. 이름, 생존 상태, 경로, 명령, 변경 소유권을 한 묶음의 증거로 기록한 뒤에만 재사용·대기·정리 중 하나를 선택한다.

왜 중요한가

중복 실행은 같은 파일을 서로 다른 판단으로 수정하고, 배포나 알림을 두 번 수행하며, 어느 결과가 정본인지 흐린다. 반대로 성급한 정리는 복구 가능한 작업 공간을 없애고 조사 증거까지 지운다. 몇 초짜리 생존 확인은 두 종류의 실패를 모두 막는 가장 싼 안전장치다.

완료 기준

활성 소유자가 있다고 보고 기다리거나, 죽은 세션이라고 보고 정리하기 전에 생존 상태·작업 경로·현재 명령·저장소 변경을 모두 확인했다면 완료다. 판단 근거가 하나라도 모호하면 삭제나 새 쓰기를 시작하지 말고, 읽기 전용 확인을 계속한다.