메세지 큐를 이용해서 프로세스간에 메세지를 주고 받을려고 하는데 입력을 기다리는 상태에서 메세지가 있으면 이를 출력 할려고 함니다.
stdin에서 입력을 기다리면 엔터를 칠때까지 그 다음코드(메세지 큐를 검사해서 있으면 출력을 하는)를 수행하지 않습니다. 어떻게 하는 방법이 없을까요?
3가지 방법이 있겠네요...;;
1) 포크를 이용해서 입력 받는 넘과 메세지큐를 폴링 하는 프로세스를 만든다
2) 쓰레드를 이용하는 방법
3) 알람을 이용해서 씨그널 핸들러에서 출력하는 작업을 해준다.
음... 제일 무난한 방법은 3번 같은데요... 1초 주기로 알람을 발생시켜서 폴링하면 될듯.. 예제는 제가 요밑에 시그널 관련글을 하나 올린게 있는데, 고것을 참고해서 해보세요...
man poll man select
윗분께서 아주 자세하게 설명을 하신듯 합니다... fork()해서 사용할 수 있는 방법. fork()와 비슷한 thread를 이용하는방법..
텍스트 포맷에 대한 자세한 정보
<code>
<blockcode>
<apache>
<applescript>
<autoconf>
<awk>
<bash>
<c>
<cpp>
<css>
<diff>
<drupal5>
<drupal6>
<gdb>
<html>
<html5>
<java>
<javascript>
<ldif>
<lua>
<make>
<mysql>
<perl>
<perl6>
<php>
<pgsql>
<proftpd>
<python>
<reg>
<spec>
<ruby>
<foo>
[foo]
Re: 입력을 기다리는 상태에서 출력을.....
3가지 방법이 있겠네요...;;
1) 포크를 이용해서 입력 받는 넘과
메세지큐를 폴링 하는 프로세스를 만든다
2) 쓰레드를 이용하는 방법
3) 알람을 이용해서 씨그널 핸들러에서 출력하는 작업을 해준다.
음... 제일 무난한 방법은 3번 같은데요...
1초 주기로 알람을 발생시켜서 폴링하면 될듯..
예제는 제가 요밑에 시그널 관련글을 하나 올린게 있는데,
고것을 참고해서 해보세요...
Re^2: 입력을 기다리는 상태에서 출력을.....
man poll
man select
윗분께서 아주 자세하게 설명을 하신듯 합니다...fork()해서 사용
윗분께서 아주 자세하게 설명을 하신듯 합니다...
fork()해서 사용할 수 있는 방법.
fork()와 비슷한 thread를 이용하는방법..
댓글 달기