백그라운드에서 프로세스를 실행하고 필요할 때만 출력을받는 가장 좋은 방법은 무엇입니까?백그라운드 프로세스의 출력을 캡처하는 방법은 무엇입니까?
의도 된 사용 : 무거운 초기화로 프롬프트를 출력하는 스크립트를 각 프롬프트 실행이 아닌 세션마다 한 번 초기화하십시오. 주 : 양방향 통신이 필요합니다. 쉘은 새로운 프롬프트가 필요할 때를 알 필요가 있습니다. 마지막 명령 상태는 무엇입니까?
알려진 솔루션 :
- 파일 시스템의 일부를 명시 적으로 생성 된 파일 (FIFO 파일, UNIX 소켓) :이 나는 그것이 garbage-입니다 확인, 파일 이름을 선택해야 의미로이 문제를 피하기 위해 더 나은 것 출구에서 수집하고 충돌시 더 이상 사용하지 않는 파일을 정리하기 위해 무언가를 추가하십시오.
- zsh/zpty 모듈 :이 작업에는 잔인한 행동이며 bash에서는 작동하지 않습니다.
- coprocesses : bash에서는 작동하지 않으며 AFAIK는 세션 당 하나의 코 프로세스 만 허용됩니다.