2013-07-15 4 views
1

두 가지 프로세스가 있습니다. 나는 콘솔 (bash)에서 첫 번째 프로세스를 생성하고있다. 첫 번째 프로세스는 두 번째 프로세스를 생성하는 인턴입니다. 두 번째 프로세스는 사용자가 SIGINT 또는 SIGTERM 신호를받을 때까지 파일에서 읽는 것입니다. 하지만 Ctrl + c를 누르면 bash 프로그램이 첫 번째 프로세스에 신호를 전달하므로 죽이려고하고 응용 프로그램이 다운됩니다. 왜냐하면 거기에서 처리하지 않았기 때문입니다.bash가 다른 프로세스에 신호를 전달하도록하는 방법은 무엇입니까?

내 질문은 어떻게 두 번째 프로세스에 신호를 전달하는 배쉬 프로그램을 강제 수 있습니까 ??

감사합니다.

답변

1

이 bash는 신호를 생성하지 않으며, tty는 활성 프로세스로 신호를 생성합니다. (tcsetpgrp을 사용하여) 하위 프로세스를 활성으로 설정하여 tty로부터 신호를 수신하게하십시오.

하기 전에 tty 작동 방법에 대한 기사를 읽으십시오.

+1

당신은 내게 tty가 아주 잘 설명되었거나 좋아하는 링크를 제공 할 수 있습니까 ?? –

+1

http://www.linusakesson.net/programming/tty/index.php 나는 이것이 좋은 튜토리얼이라고 생각한다. –

관련 문제