쉘을 만들고 있는데 Ctrl+Z 문제
글쓴이: hooriza / 작성시간: 토, 2005/10/08 - 2:58오후
과제로 리눅스 shell 을 만들고 있습니다.
그런데 한가지 모르겠는게...
shell 프롬프트 상태에서는 Ctrl+C 와 Ctrl+Z 를 눌러도
쉘이 중단이나 중지 되지 않잖아요...
그런데 Ctrl+C 는 signal(SIGINT, SIG_IGN);
식으로 중단되지 않게 잡아줬는데...
Ctrl+Z 는 어떻게 잡아야 할지 모르겠네요.
Ctrl+Z 가 눌렸을때 SIGSTOP 이라는 시그널이 발생된다고
하는데 이 시그널은 무시할수가 없는 시그널이라서
signal(SIGSTOP, SIG_IGN); 식으로 무시할수가 없다고...
어떻게 해야 쉘 프롬프트 상태에서 Ctrl+Z 를 눌렀을때
무시하게 할 수 있을까요?
답변 부탁드립니다~
Forums:
교수님이 그런것 까지 원하시던가요? -_-;;
교수님이 그런 것까지 원하시지 않으신다면 굳이 해야 할 이유는 없을 거 같은데요.
저도 그런 숙제를 몇번 해봤습니다만
보통 쉘 프로그래밍에서 주로 고려해야 할 것은
프로세스의 생성과 종료, 파이프 라이닝, 백그라운드 실행 등이었던 거 같습니다.
교수님이 해결하라고 한 문제가 아니면 굳이 신경쓰지 않으셔도 될 듯합니다.
------------------------------------------------------------
이 멍청이~! 나한테 이길 수 있다고 생각했었냐~?
광란의 귀공자 데코스 와이즈멜 님이라구~!
교수님이 요구하시진 않으셨는데...
왠지 하고싶더라구요~ -)
그래서 해봤는데 잘 안되서 질문 드린거고요~ 흐으
저도 처음 해 보는데...
이렇게 하니까 SIGSTOP 도 잡히는데요.
아직 signal() 함수를 다 이해 못했고, 직업 프로그래머도 아니지만
그냥 제 자신이 궁금해서...
다시 보니
다시 보니 ctrl+z 는 SIGTSTP (20) 이 발생되네요. SIGSTOP(19) 은 unblockable 이 맞네요.
그럼...
댓글 달기