«file-descriptors» 태그된 질문

3
동일한 "열린 파일 설명"을 공유하는 파일 설명자 찾기
내가 (본과 같은 껍질에서) 할 경우 : exec 3> file 4>&3 5> file 6>> file 파일 설명자 3과 4는 4가 dup()3에서 시작되었으므로 동일한 열린 파일 설명 (동일한 속성, 파일 내에서 동일한 오프셋 ...)을 공유합니다. 해당 프로세스의 파일 디스크립터 5와 6은 다른 열린 파일 설명 에 있지만 (예를 들어 파일에 고유 …

3
파일 디스크립터 이동을위한 실제 사용
bash 맨 페이지에 따르면 : 리디렉션 연산자 [n]<&digit- 파일 디스크립터 digit를 파일 디스크립터 로 이동 n하거나, n지정되지 않은 경우 표준 입력 (파일 디스크립터 0)으로 이동 합니다. digit에 중복 된 후 닫힙니다 n. 파일 디스크립터를 다른 디스크립터로 "이동"한다는 것은 무엇을 의미합니까? 그러한 관행의 전형적인 상황은 무엇입니까?

2
파일 디스크립터를 닫으면 어떻게됩니까?
파일 설명 자로 전체 그림을 얻으려고합니다. 처음에 이러한 파일 설명자가있는 process1이 있다고 가정 해보십시오. _process1_ | | | 0 stdin | | 1 stdout | | 2 stderr | |__________| 그런 다음 파일 설명자 1을 닫습니다. close(1); 파일 디스크립터 1 은 커널의 Open Files Table 에서 stdout FILE 구조 로 …

3
fork ()가 파일 디스크립터를 리턴하도록 설계된 이유는 무엇입니까?
자신에 대한 웹 페이지 자기 파이프 트릭 , 댄 번스타인은 경쟁과 조건에 대해 설명 select()하고 신호를 제공하는 해결 방법을하고 있다는 결론 물론 올바른 것은 fork()프로세스 ID가 아닌 파일 설명자를 반환하는 것입니다 . 그는 이것이 의미하는 바는- select()상태 변경에 대한 알림을 받기 위해 신호 처리기를 사용하지 않고 자식 프로세스에서 상태 변경을 …

3
코드에서“{exec> / dev / null; }> / dev / null”후드에서 무슨 일이 일어나고 있습니까?
exec 리디렉션이 포함 된 명령 목록을 리디렉션하면 다음과 같이 exec> / dev / null이 여전히 적용되지 않는 것 같습니다. { exec >/dev/null; } >/dev/null; echo "Hi" "Hi"가 인쇄됩니다. {}명령 목록이 파이프 라인의 일부가 아닌 한 하위 쉘로 간주되지 않는다는 인상을 받았습니다 .exec >/dev/null 쉘로 여전히 내 생각에 현재 쉘 환경에 …

2
파일 기술자와 포크
자식이 포크되면 부모의 파일 설명자를 상속받습니다. 자식이 파일 설명자를 닫으면 어떻게됩니까? 아이가 글을 쓰기 시작하면 부모의 말에 파일에 어떤 일이 일어날까요? 이러한 불일치, 커널 또는 사용자를 누가 관리합니까? 프로세스가 close파일 디스크립터를 통해 특정 열린 파일을 닫기 위해 함수를 호출 할 때 . 프로세스의 파일 테이블에서 참조 횟수는 1 씩 감소합니다. …

1
exec 3 <& 1은 무엇을합니까?
나는 그 이해 exec내가 할 수 있습니다 / O는 현재 쉘에,하지만 난 단지 사용을 같이보고 재 : exec 6&lt;&amp;0 # Link file descriptor #6 with stdin. # Saves stdin. exec 6&gt;&amp;1 # Link file descriptor #6 with stdout. # Saves stdout. 나는 그것이 &lt;입력 스트림을위한 것이고 &gt;출력 스트림을 위한 것임을 …

2
SSH가 백그라운드 프로세스를 기다리지 않는 이유는 무엇입니까?
ssh -t백그라운드 작업이 완료되기를 기다리지 않는 이유는 무엇 입니까? 예: ssh user@example 'sleep 2 &amp;' 2 초 후에 ssh가 반환되기 때문에 예상대로 작동하지만 ssh user@example -t 'sleep 2 &amp;' 끝나기를 기다리지 않고 sleep즉시 돌아옵니다. 아무도 이것의 이유를 설명 할 수 있습니까? ssh -t돌아 오기 전에 모든 백그라운드 프로세스가 완료 될 …

2
무선 랜 인터페이스의 속도를 찾는 방법?
파일 설명자를 사용하여 네트워크 인터페이스 속도를 찾으려고합니다. ethX전화 하기 만하면 cat /sys/class/net/eth0/speed됩니다. 불행히도이 방법은 무선 인터페이스에서 작동하지 않습니다. 전화 /sys/class/net/wlan0/speed하면 오류가 발생합니다 : 잘못된 인수. 그렇다면 /sys/class/net/eth0/speedwlan 인터페이스에 대한 아날로그와 같은 것을 알고 있습니까?


1
ulimit 수정 : 파일 열기 : 제한을 수정할 수 없음 : 작업이 허용되지 않습니다
다른 GNU / Linux 설치에서 이것을 테스트했습니다. perl -e 'while(1){open($a{$b++}, "&lt;" ,"/dev/null") or die $b;print " $b"}' 시스템 A와 D 내가 맞은 첫 번째 한계는 1024입니다. 이것을 /etc/security/limits.conf에 넣으면 쉽게 올릴 수 있습니다. * hard nofile 1048576 그런 다음 다음을 실행하십시오. ulimit -n 1048576 echo 99999999 | sudo tee /proc/sys/fs/file-max …

3
SSH : stdin, stdout, stderr 외에 추가 "파이프"fd를 제공합니다
SSH를 사용하여 호스트에 연결하는 경우 일반적으로 호스트와 게스트 사이 stdin에 stdout,, 및 세 개의 "파이프"가 제공됩니다 stderr. 추가 파일 디스크립터 ( 3및 이후)에 대한 전달을 작성하는 명령 행 옵션이 있습니까? 예를 들어,하고 싶습니다 ssh --forwardfd=10:3 remotehost 'echo test &gt;&amp;3' 로컬로 열린 파일 디스크립터 10에 'test'를 인쇄합니다.

7
파일 디스크립터가 유효한지 테스트
bash 스크립트가 파일 디스크립터 (FD)에 추가 정보가 열려있을 때 3 이상으로 출력되도록하고 싶습니다. FD가 열려 있는지 테스트하기 위해 다음과 같은 트릭을 고안했습니다. if (printf '' 1&gt;&amp;3) 2&gt;&amp;-; then # File descriptor 3 is open else # File descriptor 3 is not open fi 이것은 내 필요에 충분하지만 FD가 유효한 경우 …

2
파일 디스크립터 대 파일 이름
파일 설명자와 파일 이름의 차이점과 관계가 무엇인지 궁금합니다. 그들은 모두 파일에 액세스하는 데 사용됩니까? 그렇다면 같은 방법으로? 예를 들어, /dev/fd/0, /dev/stdin,과 /proc/self/fd/0에 대한 모든 링크가 있습니다 /dev/pts/2. 이 네 가지 파일 설명자입니까, 아니면 파일 이름입니까?

3
로그 프로그램이 어떻게 삭제 된 파일에 계속 로그를 기록 할 수 있습니까?
로부터 유닉스 파워 툴, 제 3 판은 : 대신 파일을 제거, 그것을 비우기 섹션 : 활성 프로세스에 파일이 열려있는 경우 (로그 파일에서는 드문 일이 아님) 파일을 제거하고 새 파일을 작성해도 로깅 프로그램에는 영향을 미치지 않습니다. 해당 메시지 는 더 이상 연결되지 않은 파일로 계속 이동합니다 . 파일을 비우면 연결이 끊어지지 …

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.