돌고 있는 프로세스와 포트의 시작 원인을 한 번에 추적하는 방법
서버에서 원치 않는 프로세스가 돌거나 포트가 막혀 있을 때, 무엇이 그걸 시작했는지 바로 알 수 있습니다. witr는 프로세스, 포트, 컨테이너, 파일 중 하나를 지정하면 그 대상이 시작된 경로를 따라가며 원인을 찾아내는 도구입니다. 복잡한 시스템 계층을 거친 실행 흐름을 한눈에 파악할 수 있어 장애 대응 시간을 단축합니다.
왜 실행 중인지 추적하는 방식
기존 도구들은 현재 실행 중인 상태만 보여줄 뿐, 그 프로세스가 왜 실행 중인지에 대한 인과관계를 직접 연결해 주지 않습니다. witr는 프로세스 ID를 중심으로 부모 프로세스, 서비스, 컨테이너 런타임까지 거슬러 올라가며 실행 체인을 추적합니다. 이를 통해 systemd 유닛, Docker 컨테이너, 또는 셸 스크립트 중 어떤 것이 해당 프로세스를 시작했는지 명확히 확인합니다. 결과물은 사람이 읽기 쉬운 텍스트, 스크립트용 JSON, 또는 인터랙티브 TUI 형태로 제공됩니다.
다양한 대상과 출력 방식
witr는 프로세스 이름, 포트 번호, PID, 파일 경로, 컨테이너 이름 등 다양한 기준으로 검색할 수 있습니다.
- 인터랙티브 TUI 터미널 기반 대시보드에서 프로세스, 포트, 컨테이너, 파일 락을 실시간으로 탐색하고 신호를 보낼 수 있습니다.
- AI 에이전트 연동 JSON 출력과 명확한 종료 코드를 제공하여 AI 코딩 에이전트가 포트 충돌이나 프로세스 문제를 자동으로 진단하도록 돕습니다.
- 경고 시스템 공개 인터페이스에 리스닝 중이거나 루트 권한으로 실행 중인 프로세스 등 잠재적 위험 요소를 자동으로 감지해 알려줍니다.
설치와 플랫폼 지원
witr는 Go 언어로 작성된 단일 정적 바이너리로 배포되어 Linux, macOS, FreeBSD, Windows에서 모두 실행됩니다.
- 빠른 설치 curl 또는 PowerShell 명령 하나로 최신 바이너리를 다운로드하고 PATH에 추가합니다.
- 패키지 매니저 Homebrew, Conda, Winget, npm, apt 등 다양한 생태계의 패키지 매니저를 지원합니다.
- 소스 빌드 Go 모듈을 통해 소스에서 직접 빌드하여 최신 기능을 사용할 수 있습니다.
사용 전 확인 사항
witr는 시스템 프로세스 정보를 읽기 위해 적절한 권한이 필요합니다. 일부 프로세스나 포트는 루트 권한이 없으면 접근할 수 없으며, 이 경우 종료 코드 3을 반환합니다. Windows에서는 원인 추적이 불가능한 경우가 일반적이므로 종료 코드 6이 사용되지 않습니다. TUI 모드는 터미널 환경이 필요하며, 스크립트나 CI 파이프라인에서 실행할 때는 반드시 대상 플래그를 지정해야 합니다. 패키지 매니저로 설치한 경우, 해당 매니저의 업데이트 주기에 따라 최신 버전이 아닐 수 있으므로 최신 기능이 필요하면 설치 스크립트를 권장합니다.