리다이렉션된 인풋인지 알아낼 방법이 있나요?

eminency의 이미지

예를 들면 mysql같은 경우, 그냥 실행을 시키면 프롬프트가 뜨면서 사용자의 키보드 입력을 받게 됩니다. 그런데 실행 시킬때 리다이렉션으로 해서 스탠다드 인풋을 주면 프롬프트같은 건 뜨지않고 바로 실행이 되더군요.
mysql소스를 보면 해결될지도 모르지만 워낙 소스도 방대하고 잘 알지도 못하는 C++이다보니..ㅡ.ㅡ;;

저도 지금 이런 프로그램을 하나 짜고 있는데...
만약 인풋이 리다이렉션된 스탠다드 인풋이라면 프롬프트를 뜨지않게 하려거든요. 코드 내에서 이것을 알아낼 수 있는 방법이 있나요?

pynoos의 이미지

man isatty

입력이나 출력 받기전에 0, 1 descriptor에 대해 확인해보시면 됩니다.