Kill Process: Windows 에서 살아있는 포트 찾아서 강제로 죽이기

간혹 이클립스로 개발하다보면 어쩔수없이 강제 종료를 하게되는데, 이때 이클립스 플러그인으로 톰캣을 연동해 사용하다 강제 종료 했다면,톰캣 포트가 죽지않아 강제로 죽여야 하는 상황에 놓이게 된다.

유닉스나 리눅스면 netstat 또는 ps 와 같은 명령어로 PID를 찾고 kill 명령어로 해당 PID 를 찾아 죽일수 있으나, Windows는 당췌 알수없어, 매번 구글링을 하게 된다. 이젠 이 구글링 하는것도 귀찮아 정리해야겠다. ㅇㅎㅎ

열린 포트의 PID 확인하기

netstat -ao

위의 명령어를 사용하면, 아래와 같은 형식으로 출력된다.
Proto  Local Address Foreign Addresss  State       PID
TCP 나의-컴퓨터:10000 somewhere.com     LISTENING   666

죽이고 싶은 포트가 10000번 이었는데,.. 10000번 포트를 차지하고 있는 프로세스는 666 이구나!!

프로세스 강제 종료하기

netstat는 리눅스나 윈도우즈나 동일한데 맥에서는 PID가 보이질 않는다. 그래서 맥은 lsof 라는 명령어를 써야하는데 뒤에서 얘기하기로 하고, 아무튼 일단 프로세스를 죽이는 kill 명령어는 윈도우즈용 명령어에는 없다. 윈도우즈 전용은 taskkill 을 사용한다.

taskkill /F /PID 666

위와 같이 강제종료 옵션 /F 와 같이 사용하면, 죽이지 못할 프로세스가 없다!! 유후!!

맥에서 PID 얻기

맥에서는 netstat 명령을 아무리 입력해도 PID가 보이지 않는다. 이럴땐 lsof를 이용하자.

lsof -iTCP

위와 같이 입력하면 아래와 같이 나온다.
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
Finder 347 realrap 5u IPv4 0xc21f4cc42ae141cd 0t0 TCP localhost:49520->localhost:26164
Finder 347 realrap 7u IPv4 0xc21f4cc42ae141cd 0t0 TCP localhost:49520->localhost:26164

아래와 같이 입력하면 포트번호만 필터링 할수도 있다.

lsof -iTCP:35729

일정산정, 정확성 높이기.

오늘은 타임로그 관련 공식 3탄, 비공식 4탄입니다.

본래 계획했던 글쓰기 일정보다는 약간 늦었습니다. 글쓰기 앞서, 안타깝게도 이번에는 번다운차트가 없습니다. 지난 Sprint6 가 너무나 정신없이 흘러가버려서 스크릿샷 뜨는걸 잊어버렸습니다.ㅜㅜ 정말 슬픕니다. 왜냐면, 이번 Sprint6 번다운 챠트는 그동안 제가 그렸던 그래프중에서,.. 가장 자랑할만한 그래프였꺼든요.. 일정산정도 거의 정확했고, 일정한 개발속도를 유지했으며, 특별한 이슈도 없어서,.. 보통 마지막에 위로 올라가곤했던 예상시간 그래프(노란색그래프)도 초기 예상한 일정대로 한치의 흐트럼 없이 진했됐던 Sprint 였습니다. (오히려 릴리즈 마지막날 역으로 일정이 감소됐습니다.)

백문이 불여일견이라고, 번다운차트를 보여줘야 이해가 빠를텐데.. 아깝네요..ㅜㅜ.. 어떻게든 그래프를 살려서 보여드리도록 하겠습니다. 이상 각설하고, 이번 포스트의 주제는 정확한 일정산정하기 입니다.!!

정확한 일정 산정하기

정확한 일정을 산정하는데 있어서 제가 생각하는 중요한 변수는 2가지가 있습니다.

  • 첫째, 가장 중요한것은 일정한 개발속도 유지입니다.
  • 둘째, 그다음 중요한것은 경험입니다.

앞의 2가지가 충족되면, 제 경험상 Sprint 단위로 나누었을때, 3번째 Sprint가 지나면서 대체적으로 초기 추정한 일정과 실제 소비한 일정이 맞아 떨어지게 되더군요. 일정한 개발속도와 경험 이라는 변수를 놓고보면 프로젝트는 매우 단순해 집니다. 즉, 개발자 개개인이 일정한 속도를 내고, 경험이 쌓이면 프로젝트는 항상 예상가능해집니다. 제 이론은 그렇습니다.

하지만 일정한 속도를 유지해내는것 자체가 문제겠죠? 무엇보다 중요한것은

  • 이 일정한 개발속도를 어떻게 유지하느냐? 그리고
  • 도대체 일정한 속도를 어떻게 측정하냐? 일 것입니다.

여기서 제가 말씀 드리는 일정한 개발속도란?

하루동안 본인이 처리할수있는 작업의 양이라고 생각하시면 됩니다. 즉, 하루에 난 어떤 작업이 주어지든지 5시간을 일할수 있다. 라는 의미입니다. 그리고 그 어떤 작업은 항상 예상 추정시간이 있겠죠. 난이도가 있는것은 5시간 이상이 될수도 있겠고, 난이도가 낮은것은 5 이하일수도 있습니다. 이 난이도 측정과 예상시간은 결국 경험입니다. 이것은 나중에 다시 얘기하겠습니다.

D-95, 유럽여행 준비기

내가 가고 싶은 여행

어제 오늘, 예비군 훈련가면서 책을 한권 들고 갔는데..
이제 1/3 정도를 읽은것 같다. (민희, 파스타에 빠져 이탈리아를 누비다. 라는 책..)
오늘은 독후감을 쓰려는게 아니기 때문에 책 내용은 패스~!!
여튼, 이 책은 다른 유럽관련 책들보다는 재미있다.
보통은 어디를 가면, 뭐가 있으니, 꼭 들려라 하는 그런 여행 가이드인데 반해,
이 책의 파스타를 주제로, 글쓴이가 이탈리아 곳곳을 누비며, 기록한 음식기행에 가깝다.
그 때문인지 책속의 내용들이 어렵지 않게.. 쏙쏙 들어오고,..(아무래도 글을 맛갈나게 잘쓰는듯..)
나도 저렇게 여행하고 싶다 라는 생각이 자꾸든다. 단순히 목적지를 찍는 여행이 아니라..
한군데를 찍더라도, 현지인과 직접 교감하는 그런 여행..
이번에 할수 있을까? 왠지 주요 관광지만 찍고 올듯.. ㅎㅎㅎ
이제 앞으로 95일
도대체 어디를 가야할지 아직 일정도 확정짓지 못했다.
아는것이 너무없다.
예전에 혼자 전국일주를 하겠다며, 일주일간 국내여행을 간적이 있었는데..
그때 깨달은 것이 아래 세가지 였다.
첫째. 혼자 가지마라. (심심하다.)
둘째. 이동 거리는 최대한 짧게. (버스에서 일정 다보낸다.)
셋째. 많이 공부해라. (아는만큼 보인다.)
이번 유럽여행은 일단 친구들과 같이 가기때문에 1번 항목은 충족됐다.
이제는 2번 항목에 대해서, 일정을 픽스해야하는데..
아~ 정말 감이 안온다.
그래서 여행사를 다니고 있는 아는 누님(팀장님이시다..ㅋㅋ)에게 의뢰를 했다.
그랬더니, 아래와 같은 대략적인 일정을 짜주셨다. (꺄~~~~ 누나 고마워요~ +_+_+_+_)
대략 세운 일정
9월 25일 – 인천출발. 파리도착
9월 26일 – 파리 시내 관광
9월 27일 – 파리 근교 관광 (베르사유, 몽생미셸 섬, 몽텐블로)
9월 28일 – 파리출발 -> 스위스 루째른 도착 후 숙박
9월 29일 – 루째른 출발(골든패스 구간 파노라마 열차이용) 인터라켄 도착 숙박
9월 30일 – 융프라우요흐 등정 후 쮜리히 경유. 야간 열차편으로 출발(헉!! 야간열차 없어졌다고함.)
10월 1일 – 오전 밀라노 도착 후 관광
10월 2일 – 밀라노 출발 베니스
10월 3일 – 베니스 출발 피렌체
10월 4일 – 피사, 피렌체 관광후 나폴리 이동
10월 5일 – 나폴리, 폼페이, 카프리 관광
10월 6일 – 나폴리 출발, 로마로 이동 관광
10월 9일 – 로마에서 서울로 출발
도대체 위 지명들이 어디에 붙어있는지 감이 안와서.. 지도에서 찾아봤다.
첫번째, 파리 코스!!
A-파리 / B-베르사유 / C-몽생미셀 섬 / D-몽텐블로 / E-루체른
사용자 삽입 이미지
파리 시내에도 볼게 많다고 하는데,.. 여행관련책 찾아보면, 루브르 박물관도 있고,
오르세 미술관, 오베르 쉬르 와르(뭔진 모르지만..ㅋㅋ) 뭐 이딴것들이 있다고 한다.
파리 시내의 상세 일정은 차차 찾아보도록 하고.. 다음으로 넘어가자!!
두번째, 스위스 코스
사용자 삽입 이미지스위스는 코스를 찍어보니, 스위스 전체를 크게 한바퀴를 도는 것 같다.
A~B 구간이 파노라마 열차를 타면 저렇게 도는 것 같다.
그리고, 인터라켄 근처에서 융프라우산을 등정하는 코스! (인터라켄은 또 레포츠로 유명하단다..ㅎㅎ)
왠지 스위스에서 등산도하고,
레포츠도 즐기려면 일정을 늘려야 하지 않을까? 좀더 전략을 짜봐야겠다.
A – 루체른
B – 인터라켄
C – 융프라우산
D – 취리히
E – 이태리 밀라노
세번째 – 이태리 코스
이제 마지막 코스~!! 이탈리아는 로마에서 인천공항으로 가는 표를 미리 사두었기 때문에, 로마를 최종 목적지로 그리고, 스위스에서 넘어오는 국경선 근방의 밀라노 또는 제노아 둘중 한곳으로 부터 시작하는데.. 일단 밀라노에서 시작한다는 가정하에.. 지도에서 찾아보니.. 요렇다.
사용자 삽입 이미지
이탈리아가 우리나라처럼 반도국가라서 로마를 중심으로 북부와 남부가 많은 차이가 난다고 하던데..
일정상 북부도시 몇군데를 가고, 남부의 나폴리 찍고, 로마에서 남은 일정을 보내게 될꺼같다.
A – 밀라노
B – 베니스
C – 피렌체
D – 나폴리
E – 로마
이탈리아는 최종 막판 보스인 로마에서 남은 일정을 소화할 것이므로, 로마에서 자전거로 도시를 둘러봐도 되지 않을까 싶다.
이렇게 지도로 그려놓고 보니, 갑자기 설렌다. ㅇㅎㅎ

나 정말 유럽가는거 맞아?
앞으로 남은 시간은 95일,..
길면 길고, 짧으면 짧은 시간. 그러나 왠지 짧을 것같다.
지도에서 이동경로를 보니, 만만한 일정은 아닌 것 같고, 로마에서 3~4일을 빼면,
열흘동안 저 경로를 다 디벼야 한다. 빡시다. ㅎㅎㅎ
다행히 국내 여행은 아니니, 기차안에서 내다본 풍경은 도시마다 다를듯 싶다.
그 다름의 미학을 졸지 않고, 내 눈속에 깊이 박아 넣을수 있을까? 의문이다. ㅇㅎㅎ
(요즘은 그냥 앉으면 자버려서..ㅋㅋㅋ)
이제 약 80일 쯤해서, 다시한번 점검해봐야겠다.