시그널 명 기본 동작 설명 SIGABRT 코어/종료 이 시그널은 abort()를 실행시켰을 때 발생한다. 보통 비정상적 종료를 의미한다. SIGALRM 종료 이 시그널은 alarm()을 사용하여 타이머를 설정한 후 타이머가 종료되었을 경우 발생한다. 또는 setitimer()를 사용하여 타이머를 설정한 경우에도 발생된다. SIGCHLD 무시 자식 프로세스가 종료되었을 경우 부모 프로세스에 보내지는 시그널이다. SIGCONT 재시작 작업 제어 시그널로 멈춰져 있는 프로세스에 이 시그널을 보낼 시에 그 프로세스는 작업을 다시 시작하게 된다. 현재 동작중인 프로세스에서는 이 시그널을 무시한다. SIGFPE 코어/종료 산술 연산에서 에러가 발생할 때 받게 되는 시그널이다. 0으로 나눈다거나 하는 연산이 있을 경..
Shutdown directly: dbus-send --system --print-reply --dest=org.freedesktop.login1 /org/freedesktop/login1 "org.freedesktop.login1.Manager.PowerOff" boolean:true Reboot directly: dbus-send --system --print-reply --dest=org.freedesktop.login1 /org/freedesktop/login1 "org.freedesktop.login1.Manager.Reboot" boolean:true Sleep directly: dbus-send --system --print-reply --dest=org.freedesktop.login1 /..
#include int excel(const char *path, const char *arg, ...); int exclp(const char *file, const char *arg, ...); int execle(const char *path, const char *arg, ..., char *const envp[]); int execv(const char *path, char *const argv[]); int execvp(const char *file, char *const argv[]); int execve(const char *path, char *const argv[], char *const envp[]); *** exec() 구분 함수명 경로명 명령행 인자 환경변수 execl() 경로명 ..
#include #include pid_t wait(int *status); pid_t waitpid(pid_t pid, int *status, int options); ** 주의 ** 부모 프로세스는 모든 자식 프로세스에 관해 wait()를 통해 자식 프로세스의 종료를 확인해 주어야 한다. 자식 프로세스가 종료된 후에 그 종료를 부모 프로세스에게 알리고, 부모 프로세스가 wait()를 통해 자식 프로세스의 종료를 확인하기까지 자식 프로세스의 정보는 커널에 남아있다. 즉, 자식 프로세스가 종료 되어도 몇몇 정보는 프로세스 테이블에 존재하고, 부모 프로세스가 자식 프로세스의 종료를 wait()로 확인해 줘야 비로소 자식 프로세스가 사용한 모든 메모리 영역이 완전히 해제된느 것이다. 이렇게 종료 되었지만 부..
umask 값은 파일 생성시 기본적으로 설정하지 말아야 할 비트들의 값으로 이 값은 새로운 파일 생성시 영향을 준다. 예를 들어 open()에서 3번째 인자를 mode 라고 할 경우, mode & ~umask 값이 파일의 접근 권한이 된다. mode = 777 umask = 002 file permission = mode & ~umaks = 775 umask 값은 파일 소유주, 그룹, 다른 이용자의 읽기, 쓰기, 실행 권한에 대해서만 설정 가능하다. Return: 결코 실패하지 않으며, 이전 umask 값을 반환한다.
*** 파일시스템의 기본 구조 부트 블록 수퍼 블록 i-node 구조체 데이터 블록 *** i-note가 가지고 있는 각 파일들의 정보 파일 정보 설명 파일 유형(type) 파일이 정규 파일(regular file)인지, 디렉토리인지 등에 관한 정보 파일의 접근 권한(permission) 파일 소유주, 그룹, 다른 이용자의 파일에 대한 접근 권한 여부. (읽기, 쓰기, 실행) 파일의 크기 파일의 크기 파일의 데이터 블록의 디스크 주소 파일의 실제 데이터가 저장도어 있는 물리적 디스크의 주소. i-node는 파일의 첫 번째 블록에 대한 주소를 가지고 있다. 첫 번째 데이터 블록은 두 번째 블록에 대한 주소를 가지고 있다. 이런 식으로 링크드 리스트 구조를 지닌다. 파일의 소유자 파일의 소유자와 파일 소유 ..
$ time ./ 위 명령을 실행하면 실행 결과... real user sys
https://github.com/kjwon15/vim-transparent Kjwon15/vim-transparent Remove all background color on Vim. Contribute to Kjwon15/vim-transparent development by creating an account on GitHub. github.com https://github.com/junegunn/vim-plug junegunn/vim-plug :hibiscus: Minimalist Vim Plugin Manager. Contribute to junegunn/vim-plug development by creating an account on GitHub. github.com *** vim-plug 사..
#include #include #include int open(const char *pathname, int flags); int open(const char *pathname, int flags, mode_t mode); 에러 발생시 -1을 리턴. 에러 발생시 errno를 통해 알 수 있다. *** flags O_RDONLY 읽기 전용 O_WRONLY 쓰기 전용 O_RDWR 읽기 쓰기 *** flags 부가 옵션 O_CREAT pathname에 해당하는 파일이 없는 경우 파일을 생성. 파일 생성의 경우 세번째 인자(mode) 인자를 참조하여 파일의 권한을 설정한다. O_EXCL O_CREAT와 함께 사용. 만일 파일이 존재하면 에러가 발생되며 파일을 열지 않음 O_TRUNC pathname의 파일이 ..