일부 콜백 이벤트 처리를 기반으로 백그라운드 작업 완료 알림이 제공됩니까?

일부 콜백 이벤트 처리를 기반으로 백그라운드 작업 완료 알림이 제공됩니까?

Bash의 백그라운드 작업이 완료되면 터미널에 알립니다.

$ sleep 3 &
[1] 17527
$ 
[1]+  Done                    sleep 3
  • 알림은 일부 콜백 이벤트 처리를 기반으로 합니까?

  • 백그라운드 작업이 완료되면 터미널에 신호를 보내서 터미널에 알리나요?

  • 터미널에서 알림을 보려면 왜 Enter 키를 눌러야 합니까(예: 빈 명령 실행)?

답변1

~에서맨페이지:

작업 상태가 변경될 때마다 셸은 즉시 학습합니다. 일반적 bash으로 다른 출력을 중단하지 않도록 작업 상태 변경을 보고하라는 메시지가 인쇄될 때까지 기다리십시오. 내장 명령의 옵션이 활성화된 경우 -b 이러한 변경 사항은 즉시 보고됩니다. 종료되는 각 하위 프로세스에 대해 모든 트랩이 실행됩니다.setbashSIGCHLD

Enter알림을 보려면 버튼을 눌러야 하는 이유를 설명합니다 . 실행하여 변경할 수 있습니다 set -b. 이번 일과는 아무 관련이 없습니다단말기, 작업 제어는 셸에서 관리됩니다. 백그라운드 프로세스가 종료되면 상위 프로세스는SIGCHLD신호;알림입니다.

관련 정보