전체 글 (772) 썸네일형 리스트형 출력 버퍼 flush 에 대한 고찰 [1. 개요]애플리케이션을 실행하고, 그 로그를 출력하는 상황은 크게 아래와 같이 두가지가 있을 수 있다.콘솔 상에서 바로 확인자식 프로세스 등으로 실행 및 파이프로 연결하여 확인실행 한 애플리케이션이 로그 출력 후 출력 버퍼를 바로 flush 하지 않는다면 로그를 확인 하는 시점이 상당히 다르다는 것이다. 1번 방식은 라인 단위로 즉시 확인 할 수 있지만,2번 방식은 라인 단위로 즉시 확인 할 수 없다. 그 이유는콘솔은 라인 버퍼링 방식으로, 개행 문자를 만나는 즉시 출력 버퍼를 비운다.파이프, 리다이렉션 등은 풀 버퍼링 방식으로 출력 버퍼가 가득 차야 버퍼를 비운다.그래서, 2번 방식으로 자식 프로세스의 로그를 실시간으로 확인하여야 하는 경우가 문제가 된다.[2. 예시]아래 코드를 빌드 후, 아래와 .. xargs [1. 개요]xargs 는 표준 입력으로 받은 데이터를 명령어의 인자로 변환해주는 명령어이다.xargs 는 리눅스 커널의 ARG_MAX 를 우회하여 실행하는 기능이 있음(?)한 번에 전달할 수 있는 인자 수를 자동 조절함ARG_MAX를 넘어가는 경우도 여러 번 나눠 실행 하여 “argument list too long” 오류 방지[2. 예제]# find /mydata -name "*.csv" | xargs zip mydata.zip # pidof myapp | xargs -r kill -9## -r 옵션: argument 가 없는 경우 명령어를 실행하지 않는다. ulimit [1. 개요]ulimit 은 시스템 자원을 과도하게 사용하는 것을 방지하고, 시스템 안전성을 확보하기 위해 사용한다.시스템의 자원의 제한 값을 설정한다. ulimit 명령어를 이용해 현재 세션의 설정 된 값을 확인하거나, 변경할 수 있다. systemd 에 의해 실행되는 경우, .service 파일에 직접 명시해야 한다. PAM (Pluggable Authentication Module)유닉스 계열 시스템에서 인증 관련 작업을 모듈화 하여 처리 할 수 있게 해주는 프레임 워크ssh, su, passwd /etc/pam.conf/etc/pam.d/*[2. 종류]ulimit -ccore dump 파일의 최대 크기- 이 값이 0으로 설정되어 있으면 core dump 파일이 생성되지 않는다.- unlimited.. 이전 1 ··· 5 6 7 8 9 10 11 ··· 258 다음