유닉스와 리눅스 시그널의 차이점?
글쓴이: handrake / 작성시간: 일, 2006/01/15 - 2:33오전
안녕하세요,
이번에 작은 프로그램을 하나 맡게 되었는데요, 이 프로그램은 전부 System V Unix용으로 짜여 있습니다. 제 일은 이걸 전부 Linux (Redhat 엔터프라이즈 버젼 3, 4)로 포팅하는 것입니다. 제가 유닉스 프로그래밍을 많이 접해보지는 못한 터라 어려운 부분이 많네요.
현재 막힌 부분은 시그널 처리에 관한 부분에서 유닉스와 리눅스의 구현이 약간 다른거 같아서 입니다. 현재 프로그램에서는 시그널을 전부 sigsend()를 사용해서 보내고 있는데요, 리눅스 man 페이지를 읽어보니 sigaction()이나 sigqueue()를 사용해서 구현 해야 되는 하는것 같더라고요. 그런데 sigsend()는 같은 사용자의 프로세스에 전부 시그널을 보내는 등의 기능이 있던데 이건 리눅스에서도 비슷한 기능이 있나요? 없다면 sigsend()를 랩퍼 함수로 만들어서 구현하는것이 좋을까요?
Forums:
sigaction은 시그널 핸들러 지정해주는 함수로 알고 있는데.보낼
sigaction은 시그널 핸들러 지정해주는 함수로 알고 있는데.
보낼때는 kill로 날립니다. (kill 명령 말고 kill() 시스템콜)
man 2 kill
Written By the Black Knight of Destruction
sigsend로 원본 프로그램이 만들어져 있다면, 가장 기본적이자 현명한
sigsend로 원본 프로그램이 만들어져 있다면, 가장 기본적이자 현명한 접근역시 wrapper를 만드는 것이겠습니다.
댓글 달기