다음을 출력하는 명령이 있습니다.
READY
Listening....
HELLO
READY
Listening....
TEST
이는 음성 인식에서 비롯됩니다 pocketsphinx_continuous
.
출력을 파일로 리디렉션해야 하는데 파일 이 비어 있거나 추가하려고 시도했기 때문에 파일 stdout
이 나오지 않는 것 같습니다 .stderr
1>log.txt
2>log.txt
이것이 핵심입니다:1>log.txt
명령에 추가하면 콘솔에 더 이상 출력이 없지만 log.txt
여전히 비어 있습니다.
| tee log.txt
게다가 추가 할 때도확실히콘솔에 표시된 파일은 여전히 비어 있습니다.
이 출력은 에서 나오나요 stdout
? 그렇다면 파일로 리디렉션되지 않는 이유는 무엇입니까?
이 질문은 내 또 다른 질문과 관련이 있습니다.Pocketsphinx_continuous의 출력을 파일로 리디렉션
sdtout
Pocketsphinx는 이상합니다. 해당 매개변수를 사용하여 출력을 리디렉션하는 것은 불가능합니다. 이 질문에서는 이 출력이 어디에서 왔는지 또는 sdterr
다른 곳에서 나오는지, 그리고 이 출력을 리디렉션하는 방법을 알고 싶습니다 .
편집하다
ls -l /proc/PID/fd/
반품:
lrwx------ 1 pi pi 64 Jan 4 04:12 0 -> /dev/pts/2
lrwx------ 1 pi pi 64 Jan 4 04:12 1 -> /dev/pts/2
lrwx------ 1 pi pi 64 Jan 4 04:11 2 -> /dev/pts/2
lrwx------ 1 pi pi 64 Jan 4 04:12 4 -> /dev/snd/pcmC0D0c
답변1
끔찍한 명령:
script -q -f -c "pocketsphinx_continuous -samprate 48000 -nfft 2048 -hmm /usr/local/share/pocketsphinx/model/en-us/en-us -lm 9745.lm -dict 9745.dic -inmic yes -logfn /dev/null" words.txt &
나를 위해 작동하며 다음을 기록합니다.
READY....
Listening...
HELLO
파일에 추가하면 필요하지 않은 항목을 쉽게 정리할 수 있습니다.
편집하다:
나중에 누군가가 이 작업을 직접 수행하는 경우 &
콘솔에서 수행하는 경우 명령 끝에 '를 제거하고 Python이나 다른 언어를 통해 수행하는 경우 끝에 '를 그대로 두십시오 &
.