«file-descriptors» 태그된 질문

2
파일 디스크립터의 수명은 얼마입니까?
여기 에 설명 된 것처럼 리디렉션 open()은 파일에 쓰는 데 사용 됩니다. 셸에서 내부 (?) 파일 설명자가 만들어져 필요할 때 사용됩니다. 내부 디스크립터는 스크립트 전체 또는 쉘 수명 동안 작성됩니까? 시간이 지나고 여러 번의 작업 등으로 파괴 되었습니까? 특히 쉘 자체가 내장 작업을 위해 여는 파일의 파일 설명자를 의미합니다. 디스크립터가 …

2
& 6과 / dev / fd / 6의 차이점은 무엇입니까?
파일 디스크립터 6에서 읽으려면 <&6or </dev/fd/6(aka /proc/self/fd/6)를 사용할 수 있습니다 . 일반적으로 둘 다 동일하게 작동합니다. 그러나 해당 파일 설명자가 소켓이면 이상한 일이 발생합니다. 예를 들면 다음과 같습니다. $ bash -c 'ls -l /dev/fd/6;cat /dev/fd/6' 6</dev/tcp/localhost/12345 lrwx------ 1 michas michas 64 Jan 10 19:50 /dev/fd/6 -> socket:[315010] cat: /dev/fd/6: No …

4
프로그램 출력 리디렉션
"일부 숫자보다 큼"구문 (예 :)으로 프로그램 출력을 리디렉션하려고 할 때 foo 2> myfile여기에 가능한 숫자는 무엇이며 무엇을 나타내는가? 나는 1 /dev/stdout, 2는 믿습니다 /dev/stderr. 5와 6은 어떻습니까? 3, 4 또는 6보다 큰 숫자가 있습니까?

2
ssh -t를 통한 stderr
이것은 출력을 STDERR로 보내지 만 Ctrl+를 전파하지는 않습니다 C(즉 Ctrl+ C는 kill ssh하지만 remote는하지 않습니다 sleep). $ ssh localhost 'sleep 100;echo foo ">&2"' 이것은 Ctrl+를 전파 하지만 C(즉, Ctrl+ C는 kill ssh및 remote sleep) STDERR을 STDOUT으로 보냅니다. $ ssh -tt localhost 'sleep 100;echo foo ">&2"' 두 번째로 STDERR 출력을 STDERR로 …

2
프로세스 대체가 포함 된 출력 순서
이것이 내가 일반적으로 실행하는 일이다 grep하고 wc두 번 스캔 할 필요없이 파일 <file.txt tee >(grep LITERAL) >(wc -l) >/dev/null 그러나 이것은 EXEC LITERAL 32 때때로 그리고 32 EXEC LITERAL 다른 시간에. (의 출력 은 첫 번째 인스턴스 grep의 출력보다 우선하고 wc두 번째 의 출력은 그 반대입니다.) 반면에 리디렉션 및 파일 …

2
프로세스 대체 <()가 ssh -F에서 작동하지 않는 이유
유능한 가상 머신이 있습니다. 그들에게 로그인하려면 vagrant ssh명령을 내립니다. 일반 ssh명령을 사용하여 로그인하고 싶습니다 . 은 vagrant ssh-config적절한 구성 파일을 출력한다 $ vagrant ssh-config Host default HostName 127.0.0.1 User vagrant Port 2201 UserKnownHostsFile /dev/null StrictHostKeyChecking no PasswordAuthentication no IdentityFile /home/cbliard/.vagrant.d/insecure_private_key IdentitiesOnly yes LogLevel FATAL 이 구성을 파일로 출력하고 with를 사용 …


3
명명 된 파이프, 파일 설명자 및 EOF
bash 프롬프트가있는 동일한 사용자의 두 창 창 1에서 다음을 입력하십시오. $ mkfifo f; exec &lt;f 따라서 bash는 이제 파일 디스크립터 0에서 이름을 가진 pipe에 맵핑하려고합니다 f. 창 2에서 다음을 입력하십시오. $ echo ls &gt; f 이제 window-1은 ls를 인쇄하고 쉘은 죽습니다. 왜? 다음 실험 :로 window-1을 다시 엽니 다 exec …

1
OS X, bash : 열린 파일 디스크립터에서 덜 작동, cat은
내가 작업중 인 bash 스크립트 (Ubuntu 및 OS X에서 실행해야 함)에서 수백 개의 명령 출력을 파일로 리디렉션해야합니다. 모든 것을 추가 &amp;&gt;...하는 대신 간단히 exec 9&gt;&amp;1 exec 5&lt;&gt;/tmp/some-file.txt exec 1&gt;&amp;5 지금까지는 훌륭했지만 모든 명령을 반쯤 진행하면서 파일 설명자를 열어 둔 상태에서 지금까지 작성된 모든 내용을 읽어야합니다. 우분투에서 간단하게 할 수 있습니다. …

4
왜`tail -f / proc / $ pid / fd / 1`을 할 수 없습니까?
echoPID 를 나타내는 간단한 스크립트를 작성했습니다 . #/bin/bash while true; do echo $$; sleep 0.5; done 3844한 터미널에서 스크립트를 반복 실행 하고 다른 터미널 tail에서 파일 설명자를 시도 하고 있습니다. $ tail -f /proc/3844/fd/1 화면에 아무것도 인쇄하지 않고까지 멈 춥니 다 ^c. 왜? 또한 모든 STD 파일 설명자 (IN / …

2
원격 활성 터미널에서 명령 실행
PID가 6350 인 터미널 에뮬레이터 (T1)가 열려 있다고 가정하십시오. 다른 터미널에서이 명령 (C1)을 입력하십시오. echo "ls\n" &gt; /proc/6350/fd/0 이것은 lsT1에 새 줄을 쓰지만 실행하지는 않습니다. 왜? 또한 cat|bashwith 를 사용해 echo "ls\n" &gt; /proc/catid/fd/0보았지만 여전히 실행되지 않았습니다. 명령을 다른 터미널에 에코하고 명령을 실행하려면 어떻게해야합니까? 가능한 답변 : $ mkfifo toto; …

3
프로세스의 표준에 쓰기
내가 다음을 입력하면 이해하는 한 ... python -i ... python-interpreter는 이제 stdin에서 다음과 같이 동작합니다 (분명히). &gt;&gt;&gt; print "Hello" Hello 내가 이렇게하면 같은 일을 할 것으로 기대합니다. echo 'print "Hello"' &gt; /proc/$(pidof python)/fd/0 그러나 이것은 출력입니다 (실제 빈 줄). &gt;&gt;&gt; print "Hello" &lt;empyline&gt; 나에게 이것은 다음과 같이 보였습니다. print "Hello"\n에 …

2
파이프에서 스크립트를 사용할 때 사용자 입력을 읽는 방법
일반적인 문제 파이프 체인의 중간에 있더라도 사용자와 상호 작용하는 스크립트를 작성하고 싶습니다. 구체적인 예 구체적으로, 그것은 취 file하거나 stdin(행 번호), 디스플레이 라인을 입력하도록 요청하는 선택 또는 광고 번호, 다음에 대응하는 라인을 인쇄 stdout. 이 스크립트를 호출 해 봅시다 selector. 그런 다음 기본적으로 할 수 있기를 원합니다 grep abc foo | …

1
“파일 설명자”에서“설명자”의 어원
디스크립터라는 단어의 선택은 항상 나를 이상하게 만듭니다. "색인"또는 "id"는보다 확실한 대안으로 보입니다. "설명자"라는 단어를 선택하는 데 알려진 근거가 있습니까? "설명자 (descriptor)"는 종종 개념적으로 숫자보다는 키가 적지 만 때로는 실제로 숫자가 너무 적어서 추측이 약한 것 같습니다.
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.