라인을 표준 출력으로 지속적으로 스트리밍하는 쉘 명령(예: journalctl -f -o json
)이 있습니다.
이 출력을 한 줄씩 검색하여 추가로 처리하고 싶습니다.
os/exec
的文档解决了如何读取命令的输出,io
스트림 버퍼링을 처리합니다.
모든 처리는 읽고, 처리하고, 추가로 쓰는 고정 버퍼를 통과하는 것 같습니다. 내 문제는 이 버퍼의 크기가 고정되어 있고 내용과 무관하다는 것입니다.
들어오는 스트림(제 경우에는 셸 명령의 출력)을 한 줄씩 읽을 수 있는 방법이 있나요? 어쩌면 io
리더보다 더 높은 수준의 라이브러리가 있을까요? io
读者更高级的库?
使用 cmd.stdoutpipe()
获取(管道)使用 cmd.start()
启动该进程之前的输出( start()
bufio.scanner
读取输入 (io.reader
cmd를 사용하세요 .stdoutpipe()
cmd.start(를 사용하여 (파이프라인) 가져오기 )
프로세스를 시작하기 전 출력( start()
는 명령을 시작하지만 완료될 때까지 기다리지 않습니다).
그리고
) 한 줄씩 사용하세요.
예를 들어, 다음 bash 스크립트를 사용하여 현재 시간을 3번 인쇄하고 각 시간 사이에 1초씩 절전 모드로 전환합니다.
으아아아이 명령을 실행하고 출력을 한 줄씩 읽는 예: log
包,以验证每行在第二次延迟后打印,另一个时间戳是 date
으아아아
위 내용은 프로그램의 출력을 한 줄씩 스트림으로 읽는 개념이 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!