작업 목록
아카이브자동화소프트웨어

서버 통합 관제 패널

아홉 개 서비스를 한 화면에서 켜고 끈다

동시에 돌리는 서비스가 아홉 개가 되자 무엇이 켜져 있는지 파악하는 것 자체가 일이 됐다. 전체 ON/OFF · 포트 · 상태 모니터링을 하나로 묶은 데스크톱 관제 패널.

9개 서비스를 한 화면에서 켜고 끈다

역할
전체
분류
자동화, 소프트웨어
등급
아카이브 — 작게 끝냈거나 실험으로 남긴 것

화면 캡처가 아직 없어, 아래에 구조와 판단으로 적었습니다.

01

무슨 문제였나

서비스마다 실행 디렉터리도, 실행 명령도, 포트도 다르다. 아홉 개를 매번 터미널로 띄우고 끄는 것은 개발이 아니라 잡무다. 게다가 무엇이 죽었는지도 바로 알 수 없다.

02

어떻게 풀었나

서비스 목록을 배열 하나로 정의하고, 그 배열만 고치면 패널이 갱신되도록 만들었다. 포트가 없는 프로세스는 PID를 상태 파일에 저장해 종료까지 처리한다.

구조

  1. 01서비스 정의 배열 (id / name / port / dir / cmd)
  2. 02상태 파일 — 포트 없는 서비스의 PID 보관
  3. 03포트 점유 확인 → 상태 판정
  4. 04전체 ON / OFF · 개별 제어
  5. 05WinForms GUI

어려웠던 것

  • 워커처럼 포트를 열지 않는 프로세스는 상태 판정도 종료도 불가 — PID를 상태 파일에 저장해 해결
03

무엇을 만들었나

  • 9개 서비스 통합 제어
  • 전체 시작 / 전체 종료
  • 포트 기반 상태 모니터링
  • 포트 없는 워커도 PID로 종료
  • 서비스 추가는 배열 한 줄

쓴 기술

PowerShellWindows Forms프로세스 · 포트 관리
04

무엇이 남았나

  • 개발 환경 기동 절차가 창 아홉 개에서 버튼 하나로 줄었다.

알게 된 것

병목은 대개 기능이 아니라 준비 과정에 있다. 반복되는 준비 작업이 보이면 그 자리에서 도구를 만드는 편이 결국 빠르다.

다음 프로젝트황짜장 미터기