bg와 fg는 어떤 신호를 보내나요?

bg와 fg는 어떤 신호를 보내나요?

알고 있음 ctrl+ z프로세스가 변경됨전망도착하다배경- 처럼정지시키다- 통과하다 SIGTSTP. 필요 fg에 따라 bg백그라운드 중단 프로세스를 다시 실행할 수 있습니다 .

질문

  • bg어떤 신호가 전송됩니까 fg?

두 사람이 보낸 내용이 동일한지 다른지 확실하지 않습니다.

man fg나는 / 또는 가 없다는 것을 알고 있습니다 man bg. 글쎄, fg --help신호에 대한 정보 는 없습니다 .bg --help

답변1

bg그리고 fg아무런 신호도 전송되지 않습니다. 이는 쉘의 동작 방식을 변경하는 내장 함수입니다.

작동 방식은 사용자의 입력이 의도한 대상에 도달해야 한다는 것입니다. 을 실행하면 bg (job)프로세스가 더 이상 콘솔에서 읽거나 쓰지 않도록 셸에 알리고 콘솔 내에서 실행하면 됩니다.

따라서 그 시점부터 콘솔에 쓸 때,껍데기보내기 SIGTTIN또는 SIGTTOU신호는 각각 읽기 또는 쓰기를 허용하지 않도록 프로세스에 지시합니다.

후속 질문에 대답하려면: 백그라운드로 이동하려는 포그라운드에서 실행 중인 프로세스가 있는 경우 실행 중인 작업에 신호 Ctrl + Z보내기 SIGTSTP(대화형 중지 신호임)를 클릭할 수 있습니다. 그런 다음 "이 작업을 백그라운드로 이동하고 싶습니다"라고 쉘에 알려주는 "bg (작업 #)"를 실행하십시오.

그런 다음 셸은 작업을 메모리의 백그라운드 작업으로 표시하고 이에 따라 처리하며 SIGCONT현재 중지된 것으로 확인되면 작업을 보냅니다. 명령 bg자체는 신호를 보내지 않지만 쉘은 SIGCONT응답으로 신호를 보낼 수 있습니다 bg.

관련 정보