본문 바로가기

전체 글

(736)
OS 별 select() 함수 사용법 [1. 개요]select() 함수는 비동기 I/O 처리를 위한 시스템 콜이다.여러개의 파일 디스크립터(보통 소켓) 을 동시에 감시하면서, read/write/error 등의 상태를 체크한다. 함수 원형은 아래와 같다.int select(int nfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, struct timeval *timeout); timeval 구조체의 내용을 채워, I/O 상태 변화를 timeout 동안 기다리고,NULL 이면, blocking 으로 동작하고,NULL 이 아니지만 0으로 채워져 있으면, non-blocking 으로 동작한다.[2. 주의점]위 함수 사용 시 주의할 점은 첫번째 파라미터이다.리눅스 커널에서는, readfds ,..
mysql. master-slave 구성 [1. 개요]mysql db 서버 운영 시, master-slave 구성을 통해 아래와 같은 장점 등을 확보read / write 분리를 통한 부하 분산데이터 백업 및 복구master 장애 시, slave 를 통한 고가용성master-slave 구성을 위한 작업은 아래와 같은 순서로 진행.master 서버에서, replication 권한을 갖는 계정을 생성.master 서버에서, replication 을 위한 conf 파일 수정 master 서버에서, replication 할 database dump 수행slave 서버에서, replication 을 위한 conf 파일 수정slave 서버에서, master 에서 dump 한 파일을 이용하여 복구 진행slave 서버에서, master 서버 접속 정보 설정 ..
리눅스 공유 라이브러리에 관하여 [1. 개요].so 파일을 참조하는 application (c++ 으로 작성 된 혹은...) 은 런타임 시,필요한 공유 라이브러리를 로드하여 사용하는데, 이 때, 시스템 상 미리 정의 된 위치에서 필요한 라이브러리를 찾는다. 아래와 같은 명령어를 통해, 사용하고자 하는 app 이 참조하는 라이브러리 목록을 확인 할 수 있다.$ ldd $(which curl) 문제는, 필요한 라이브러리를 찾지 못하는 경우, app 실행이 되지 않는 것이며,여기서는 이러한 문제를 해결하기 위하여 해야 할 조치를 정리한다.[2. 기본적으로 찾는 경로]가장 단순한 방법은 시스템이 기본적으로 찾는 위치에 사용 할 라이브러리를 위치시키는 것이다. 32bit 프로그램은 아래와 같고/lib/usr/lib/usr/local/lib64..