리눅스 콘솔환경( TTY )에서만 돌아가는 gcc로 빌드된 프로그램을 짜고 있는데요, 현재의 터미널이 console( TTY )이라는 것은 어떻게 확인할 수 있을까요 ? 단순히 ttyname() 함수의 결과로는, /dev/tty1 또는 /dev/pts/0 처럼 터미널의 이름만 출력해주던데요, /dev/pts/0 처럼 출력되는건 가상 터미널인건 알겠습니다. gcc로 어떻게 detect할 수 있을까요 ?
http://pubs.opengroup.org/onlinepubs/007904875/functions/isatty.html
isatty() 함수는 가상 터미널( = pseudo terminal )인 경우에도 tty라고 인정을 하던데요,
즉, /dev/pts/0 도 tty라고 인정을 하더군요.
혹시, /dev/tty[0-9] 처럼 local tty만 tty로 인정하는 함수는 없을까요 ?
단순히 /dev/pts/[0...n]을 파싱하여 검사하기엔 좀... <--- 이런 역할을 하는 함수가 있나... 해서요^^
매번 답변 감사드립니다...
------------------ System programmer...^^
일반해는 잘 모르겠고요, isatty() 통과한 놈들에게 ioctl 을 날려보는 꼼수정도가 떠오를 뿐입니다. KDKBDREP 같은거요.
알려주신 힌트로 며칠 코딩해보니,
isatty(), ttyname(), tty_ioctl(), major()... 등등의 함수가 용의(?) 선상에 오르네요.
매번 소중한 답변 정말감사드립니다...
텍스트 포맷에 대한 자세한 정보
<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]
http://pubs.opengroup.org/onl
http://pubs.opengroup.org/onlinepubs/007904875/functions/isatty.html
'bushi'님 힌트감사합니다.
isatty() 함수는 가상 터미널( = pseudo terminal )인 경우에도 tty라고 인정을 하던데요,
즉, /dev/pts/0 도 tty라고 인정을 하더군요.
혹시, /dev/tty[0-9] 처럼 local tty만 tty로 인정하는 함수는 없을까요 ?
단순히 /dev/pts/[0...n]을 파싱하여 검사하기엔 좀... <--- 이런 역할을 하는 함수가 있나... 해서요^^
매번 답변 감사드립니다...
------------------ System programmer...^^
일반해는 잘 모르겠고요, isatty() 통과한
일반해는 잘 모르겠고요,
isatty() 통과한 놈들에게 ioctl 을 날려보는 꼼수정도가 떠오를 뿐입니다. KDKBDREP 같은거요.
답변 감사합니다.
알려주신 힌트로 며칠 코딩해보니,
isatty(), ttyname(), tty_ioctl(), major()... 등등의 함수가 용의(?) 선상에 오르네요.
매번 소중한 답변 정말감사드립니다...
댓글 달기