Ruby로 Sourcesafe의 커멘드 라인 실행
글쓴이: youngmo / 작성시간: 목, 2007/10/18 - 10:33오전
작업 환경은 WinXP이고, Ruby로 소스세이프2005를 다루는 프로그램을 짜고 있습니다.
대략 popen으로 소스세이프의 커멘드라인을 실행해서 값을 얻어내는 내용입니다.
예를 들면,
ENV["SSDIR"] = "c:/vss2005DB1"
ENV["SSUSER"] = "1"
ENV["SSPWD"] = "111"
@tmp_io = IO.popen("ss cp", "w+")
이런식으로..
그런데, 예를들어 유저의 비번이 틀렸을 경우
@tmp_io으로의 입력, 출력, close가 안됩니다.
같은 소스세이프의 명령을 도스창에서 실행해보면,
c:\>set ssdir=c:\vss2005db1
c:\>set ssuser=1
c:\>set sspwd=111
c:\>ss cp
Username: 1
Password:
이런 상태로 패스워드의 재입력을 요구하고 있는데요.
루비를 강제로 종료해 버리면 소스세이프의 프로세스가 남아서 부하가 걸려 소스세이프의 프로세스를 강제로 죽이는 수박에 없더군요.
패스워드 재입력 요구시, 단순한 엔터 두번의 입력으로 정상종료를 할 수 있는데, 초보라 그런지 생각만큼 쉽지가 않습니다.
혹시 설명이 부족한 부분은 말씀해 주시면 다시 수정하겠습니다.
도움 부탁드립니다.
Forums:
댓글 달기