일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- BOJ
- C++ gui 라이브러리
- tour of go
- Docker
- 알고리즘
- c++ heap
- C++ library
- C++
- gui
- 백준
- 자료구조
- 리듬게임
- 공룡책
- JUCE library
- C언어
- a tour of go
- LOB
- 운영체제
- JUCE
- vim-go
- go
- 프로그래밍
- OS
- Nebula
- go channel
- 코딩
- JUCE 튜토리얼
- C++ gui
- JUCE라이브러리
- 연결리스트
Archives
- Today
- Total
CafeM0ca
[리눅스]파일 디스크립터 본문
반응형
컴퓨터 프로그래밍에서 파일 디스크립터는 종류에 상관없이 파일에 접근하기 위한 추상적인 지시자이다. - wikipedia
파일 디스크립터는 3개의 표준 스트림이 있다.
정수 값 | 이름 | <unistd.h>에 정의된 상수 | <stdio.h> 파일 스트림 |
---|---|---|---|
0 | 표준 입력 | STDIN_FILENO | stdin |
1 | 표준 출력 | STDOUT_FILENO | stdout |
2 | 표준 에러 | STDERR_FILENO | stderr |
표 출처: wikipedia
표준 입력은 키보드로부터 이루어 지고 출력과 에러는 모니터를 통해 이루어진다.
프로세스들의 파일 디스크립터 테이블의 0,1,2번은 이미 위의 표준으로 예약되있어서 3번부터 쓸 수 있다. -1은 오류
쉘에서 실행한 프로세스가 0~2번만 사용된다는 것은 프로세스마다 개별적인 파일 디스크립터 테이블을 가지고 있다는 것. init프로세스로부터 fork()를 통해 복사된 것임을 있다. 부모 자식간 프로세스간 파일 디스크립터 복사,공유가 가능하다.
fclose로 fd구조체를 닫아주지 않으면 fork된 자식 프로세스에서 접근이 가능하다. //ctf에서 쓰이더라
+파일시스템과 병행하여 이해가 필요
반응형
'OS > 리눅스' 카테고리의 다른 글
[vim] YouCompleteMe 특정 언어 자동완성 안될때 (0) | 2020.11.19 |
---|---|
터미네이터 화면분할 단축키 (0) | 2018.04.06 |
[리눅스]nvim 이쁘게 쓰기(feat init.vim or vimrc) (0) | 2018.02.08 |
우분투를 이쁘게 써보자 (0) | 2018.01.31 |
[리눅스]find (0) | 2017.11.27 |
Comments