가령 tty가 1인 터미널에게
echo "hi" > /dev/pts/1
라고 보냈을때
받는측에서 "hi"라는 글자를 읽어서 그에 대한 반응을 할수 있게 만들수 있을까요?
bash의 read나 c의 scanf로는 안읽어 지더군요...
답변 부탁드립니다!!
open("/dev/pts/1",O_RDWR);
termios 셋팅을 하시고
select()로 감시하시다가 변화가 있을시에 읽으시면 됩니다.
단 저 터미널이 이미 열린상태라면 다시 말하면 다른 사용자가
저 터미널을 이용중이라면 데이터가 들어올시에 서로 경쟁상태가 될 수 있습니다.
따라서 실험을 하시려면 저 터미널 사용자가 있다면 그 사용자가 해당터미널에
sleep(10000)을 주고 읽으시면 제대로 읽을 수 있습니다.
텍스트 포맷에 대한 자세한 정보
<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]
이건 터미널I/O를 하셔야 합니다.
open("/dev/pts/1",O_RDWR);
termios 셋팅을 하시고
select()로 감시하시다가 변화가 있을시에 읽으시면 됩니다.
단 저 터미널이 이미 열린상태라면 다시 말하면 다른 사용자가
저 터미널을 이용중이라면 데이터가 들어올시에 서로 경쟁상태가 될 수 있습니다.
따라서 실험을 하시려면 저 터미널 사용자가 있다면 그 사용자가 해당터미널에
sleep(10000)을 주고 읽으시면 제대로 읽을 수 있습니다.
댓글 달기