GEEP은 Go로 개발된 경량 프로세스 매니저입니다. 복잡한 설정 없이도 백그라운드에서 프로그램을 실행하고 관리할 수 있도록 설계되었습니다.
- 백그라운드 상주 (Daemon): 터미널을 닫아도 프로그램이 종료되지 않도록 백그라운드에서 안전하게 관리합니다.
- 자동 복구 (Auto-restart): 프로그램이 예상치 못하게 종료되어도 설정된 횟수만큼 자동으로 다시 실행합니다.
- 실시간 상태 모니터링: 실행 중인 각 프로그램의 CPU, 메모리 사용량 및 상태를 한눈에 확인할 수 있습니다.
- TUI 로그 스트리밍 (Connect): 관리 중인 프로세스에 연결하여 실시간 로그를 확인하고 명령어를 전달할 수 있습니다.
- 운영체제 지원: Windows 및 Unix 기반 시스템을 지원합니다.
- 로그 기록: 관리 중인 프로그램의 출력 내용(Log)을 자동으로 저장하며, 크기 제한을 설정할 수 있습니다.
프로세스 관리를 시작하기 위해 GEEP 데몬을 백그라운드에서 실행합니다. 이 작업은 처음에 한 번만 수행하면 됩니다.
geep init관리할 프로그램을 등록하고 실행합니다. --name은 필수 옵션입니다.
geep start "[실행할_명령어]" --name [프로세스_이름] 예시: node 서버 실행
geep start node app.js --name my-app --cwd "/path/to/project"현재 관리 중인 프로그램들의 목록과 리소스 사용량을 확인합니다.
geep list실시간 로그를 확인하고 표준 입력(stdin)을 통해 명령을 전달할 수 있는 전용 TUI 화면으로 진입합니다.
geep connect [프로세스_이름]- 중지: 실행 중인 프로그램을 멈춥니다.
geep stop [프로세스_이름]- 재시작: 프로그램을 다시 시작합니다.
geep restart [프로세스_이름]- 삭제: 관리 목록에서 프로그램을 완전히 제거합니다.
geep delete [프로세스_이름]백그라운드에서 실행 중인 GEEP 데몬 프로세스를 종료합니다.
geep terminate모든 geep 명령에서 사용할 수 있는 전역 옵션입니다.
--geepdir:.geep디렉토리(로그, 데이터베이스, 소켓 등이 저장되는 경로)의 위치를 직접 지정합니다.- 지정하지 않을 경우 기본값은 사용자의 홈 디렉토리 내
.geep입니다. - 예시:
geep list --geepdir "/custom/path"
- 지정하지 않을 경우 기본값은 사용자의 홈 디렉토리 내
--name: 프로세스의 고유 이름을 지정합니다. (필수)--cwd: 프로그램이 실행될 작업 디렉토리를 지정합니다. (기본값: 현재 디렉토리)--env: 프로그램 실행 시 필요한 환경 변수를 설정합니다. (예:--env KEY=VALUE,FOO=BAR)--max-recover: 자동 재실행 시도 횟수를 설정합니다. (기본값: 10회)--max-log: 로그 파일의 최대 크기(KB)를 설정합니다. (기본값: 102400 KB)
- 설정 및 소켓:
~/.geep/(사용자 홈 디렉토리 내.geep폴더) - 로그 파일:
~/.geep/log및~/.geep/log-process내의 각 프로세스별 로그