출력 버퍼링 없이 쉘 명령을 실행할 수 있는 방법이 있나요?
예를 들어 hexdump 文件 | ./my_script
는 hexdump의 입력을 한 줄씩 전달하지 않고 버퍼링된 청크로만 my_script로 전달합니다.
모든 명령의 출력을 버퍼링되지 않게 만드는 일반적인 솔루션은 무엇입니까?
내가 아는 한, 추악한 해킹 없이는 이 작업을 수행할 수 없습니다. 파이프에 쓰거나 파이프에서 읽으면 자동으로 전체 버퍼링이 켜지므로 이에 대해 할 수 있는 일은 없습니다. :-(. "라인 버퍼링"(원하는 것)은 터미널에서 읽고 쓸 때만 사용됩니다. 추악한 해킹이 바로 그들이 하는 일입니다. 파이프라인의 다른 도구가 라인 버퍼 모드에서 해당 터미널을 읽고 쓸 수 있도록 프로그램을 의사 터미널에 연결합니다. 전체 문제는 다음과 같습니다.
이 페이지는 unbuffer
或使用 LD_PRELOAD
를 사용하여 몇 가지 트릭을 수행하기 위한 몇 가지 제안(앞에서 언급한 "못생긴 해킹")도 제공합니다.
위 내용은 쉘 명령의 출력(stdout, stderr)을 버퍼링되지 않게 만드는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!