Repolode
pranshuparmar

pranshuparmar/witr

프로세스, 포트, 컨테이너 또는 파일의 시작 경로를 추적하는 CLI 및 TUI입니다.

스타
22,720
포크
892
열린 이슈
2
마지막 커밋
18시간 전

어떤 프로젝트인가요?

witr는 프로세스, 리스닝 포트, 컨테이너 또는 열린 파일에 대해 “왜 실행 중인가?”라는 질문에 답합니다. ps, lsof, ss, docker ps 같은 도구는 무엇이 실행 중인지는 보여 주지만, 어떻게 시작됐는지는 알려 주지 않습니다. witr는 부모 프로세스 체인과 supervisor(systemd, launchd, PM2, cron, SSH 세션, tmux, 컨테이너 런타임)를 따라가며 해당 프로세스를 실행하게 된 시스템의 순서를 보여 줍니다.

이름이나 --pid, --port, --file, --container를 지정해 witr를 실행하면 조상 프로세스 체인, 프로세스를 시작한 주체, 작업 디렉터리, git 브랜치, 소켓, root 권한으로 실행 중이거나 공개 인터페이스에서 리스닝하는 등의 경고를 담은 설명형 보고서가 출력됩니다. 출력은 간략형, 트리 형식, 상세형 또는 스크립트와 CI에서 사용할 수 있도록 문서화된 종료 코드가 포함된 JSON으로 받을 수 있습니다. 대상을 지정하지 않고 실행하면 프로세스, 포트, 컨테이너, 파일 잠금 탭과 Unix에서 사용할 수 있는 signal 및 renice 동작을 갖춘 인터랙티브 TUI가 열립니다.

이 프로젝트는 Go로 작성됐으며 Linux, macOS, Windows, FreeBSD용 단일 바이너리로 배포되고, 여러 패키지 매니저를 통해 설치할 수 있습니다.

핵심 기능

  • 01프로세스의 부모 프로세스 체인과 supervisor(systemd, launchd, PM2, cron, SSH)를 추적합니다.
  • 02프로세스 이름, PID, 리스닝 포트, 열린 파일 또는 컨테이너를 기준으로 대상을 조회합니다.
  • 03Docker, Podman, nerdctl, Kubernetes/crictl, Incus, LXC, LXD 및 FreeBSD jail을 지원합니다.
  • 04프로세스, 포트, 컨테이너, 파일 잠금 탭이 있는 인터랙티브 TUI를 제공합니다.
  • 05사람이 읽기 쉬운 보고서와 간략형 또는 트리 보기, 문서화된 종료 코드가 포함된 JSON을 출력합니다.

활용 사례

  • 개발 서버가 'address already in use' 오류로 실행되지 않을 때 어떤 프로세스가 포트를 점유 중인지 확인합니다.
  • Linux 서버에서 장애가 발생했을 때 정체를 알 수 없거나 멈춘 프로세스를 조사합니다.
  • 실행 중인 포트를 어떤 Compose 서비스나 컨테이너가 소유하는지 확인합니다.
  • AI 코딩 에이전트가 JSON 출력을 이용해 포트 및 프로세스 충돌을 진단하도록 합니다.

빠른 시작

  1. 1

    Unix 설치 스크립트로 설치

    curl -fsSL https://raw.githubusercontent.com/pranshuparmar/witr/main/install.sh | bash
  2. 2

    또는 Homebrew로 설치

    brew install witr
  3. 3

    또는 Go 소스에서 설치

    go install github.com/pranshuparmar/witr/cmd/witr@latest

사용 전 알아둘 점

  • 설치 방법은 플랫폼마다 다르며, 커뮤니티 패키지는 GitHub 릴리스보다 업데이트가 늦을 수 있습니다.

토픽

자주 묻는 질문

witr은(는) 무엇인가요?
프로세스, 포트, 컨테이너 또는 파일의 시작 경로를 추적하는 CLI 및 TUI입니다. witr는 프로세스, 리스닝 포트, 컨테이너 또는 열린 파일에 대해 “왜 실행 중인가?”라는 질문에 답합니다. ps, lsof, ss, docker ps 같은 도구는 무엇이 실행 중인지는 보여 주지만, 어떻게 시작됐는지는 알려 주지 않습니다. witr는 부모 프로세스 체인과 supervisor(systemd, launchd, PM2, cron, SSH 세션, tmux, 컨테이너 런타임)를 따라가며 해당 프로세스를 실행하게 된 시스템의 순서를 보여 줍니다.
witr은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
witr은(는) Apache-2.0 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
witr은(는) 아직 유지보수되고 있나요?
활발히 유지보수 중. witr의 마지막 커밋은 2026년 10월 19일입니다.
witr은(는) 어디에 사용할 수 있나요?
개발 서버가 'address already in use' 오류로 실행되지 않을 때 어떤 프로세스가 포트를 점유 중인지 확인합니다. Linux 서버에서 장애가 발생했을 때 정체를 알 수 없거나 멈춘 프로세스를 조사합니다. 실행 중인 포트를 어떤 Compose 서비스나 컨테이너가 소유하는지 확인합니다. AI 코딩 에이전트가 JSON 출력을 이용해 포트 및 프로세스 충돌을 진단하도록 합니다.
witr는 어떻게 설치하나요?
Unix 설치 스크립트로 설치: curl -fsSL https://raw.githubusercontent.com/pranshuparmar/witr/main/install.sh | bash 또는 Homebrew로 설치: brew install witr 또는 Go 소스에서 설치: go install github.com/pranshuparmar/witr/cmd/witr@latest
witr은(는) 어디서 받을 수 있나요?
소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/pranshuparmar/witr

요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.

관련 프로젝트