GNU 병렬 문자 일시 중지 및 대기

GNU 병렬 문자 일시 중지 및 대기

GNU 병렬 실행에서 타이밍 일시 중지를 getchar()에 해당하는 것으로 바꾸고 싶습니다.

parallel -j2 --halt 2 ::: 'sleep 5m; return 1' './runMe'

그러나 다음은 작동하지 않습니다(첫 번째 작업 실행이 즉시 완료됩니다).

parallel -j2 --halt 2 ::: 'read -n1 kbd; return 1' '/runMe'

기다리는 것 외에 다른 방법은 없나요? 참고: ./runMe에는 무한 루프가 포함되어 있습니다.

답변1

GNU 병렬을 사용할 수 있습니다 -p.

parallel -p echo ::: 1 2 3

y매번 대답해야 하지만 그것으로 충분할 수도 있습니다.

또한 모든 출력이 지연된다는 점에 유의하세요. 3개의 작업을 병렬로 실행하는 경우 작업 1의 출력은 작업 3이 시작된 후에 인쇄됩니다.

관련 정보