본문 바로가기

Network - gethostbyname() gethostbyname()은 HostName에 상응하는 hostent 타입의 구조체를 반환하는 함수입니다. hostent 구조는 다음과 같습니다. struct hostent{ char *h_name; /* Official name of host. */ char **h_aliases; /* Alias list. */ int h_addrtype; /* Host address type. */ int h_length; /* Length of address. */ char **h_addr_list; /* List of addresses from name server. */#define h_addr h_addr_list[0] /* Address, for backward compatibility. */}; geth.. 더보기
CornerStone Log Cache 삭제하기 업무적으로 SVN을 사용하면서, MAC에서는 Cornerstone SVN 툴을 사용하고 있습니다. 기존에 윈도우나, 리눅스 커맨드 라인을 이용하는 방법에 비해서 GUI를 통해 직관적이고 편하게 관리를 하다보니 이제는 커맨드 라인을 이용한 SVN 관리는 사용하지도 않고 잊어버리게되네요. SVN을 혼자서 사용하는 것이 아니라 팀 프로젝트 인원이 사용하다보니 간혹 SVN에 올리면 안되는 내용을 커밋한다던가... SVN내 중요 파일을 삭제해버리를 불상사가 발생되곤 합니다. 이럴때는 SVN 백업 및 복구 기능을 사용해서 SVN 서버의 내용은 복구를 하지만... cornerstone 에는 이미 로그 내용이 캐쉬되어 있어 서버의 로그 내역과 불일치하는 문제가 발생됩니다. 이로인하여 로그 캐시를 삭제해야하는 상황이 발.. 더보기
popen() Linux Program에서 표준 출력 장치로 출력한 내용을 다른 프로그램의 입력으로 전송할 수 있습니다. 이러한 것을 파이프라 합니다. 예를 들어 'ls -a /root' 라는 명령을 실행할 경우, system() 함수를 이용하여 해당 동작을 수행가능합니다. 하지만, system() 함수의 경우 해당 명령어의 성공/실패를 확인 가능하지만, 'ls -a /root'의 결과인 디렉토리내 파일 리스트는 확인이 불가능합니다. 즉, system()을 이용한 다면 다음과 같은 과정을 거쳐야합니다. system("ls -a /root > ls_result.txt"); fd = fopen("a.txt", "r"); ... 상기와 같이 'ls -a /root'의 실행 결과를 파일로 저장한 후, 해당 파일을 열어서 해당.. 더보기