콘솔에 나오는 에러메시지를 받을 수 있는 방법을 알고 싶습니다.
예를 들면
[=18]root@/]#cd /rrr 이렇게 입력하면, 다음과 같은 메세지가 콘솔에 뜨잖아요.
bash: cd: /rrr: 그런 파일이나 디렉토리가 없음
이 메세지를 파일이나 버퍼에 저장하고 싶은데 프로그래밍 상에서 어떻게 해야 하는지 궁금합니다.
표준에러출력입니다.
C 에서는
FILE * f = fopen("log.txt", "w");
dup2( fileno(f), 2 );
해주시면 모든 출력은 화면에서 나오지 않고, 저 파일로 출력됩니다.
Shell 에서는 sh 이라면,
ls /rrr 2>log.txt
과 같이 하면되지요.
---http://coolengineer.com
안녕하세요.
자료를 검색하던 중 글을 보게 되었습니다.
dup2로 파일 디스크립터를 바꾸셨는데요.
프로그램 끝날때 이거 복원 안해도 되나요?
OTL 즐!!!! (좌절 금지!!!)
복원안해도 됩니다.
텍스트 포맷에 대한 자세한 정보
<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]
표준에러출력입니다. C 에서는FILE * f = fopen
표준에러출력입니다.
C 에서는
FILE * f = fopen("log.txt", "w");
dup2( fileno(f), 2 );
해주시면 모든 출력은 화면에서 나오지 않고, 저 파일로 출력됩니다.
Shell 에서는 sh 이라면,
ls /rrr 2>log.txt
과 같이 하면되지요.
---
http://coolengineer.com
dup2로 파일 디스크립터를 바꾼것을 복원 안해도 되나요?
안녕하세요.
자료를 검색하던 중 글을 보게 되었습니다.
dup2로 파일 디스크립터를 바꾸셨는데요.
프로그램 끝날때 이거 복원 안해도 되나요?
OTL 즐!!!! (좌절 금지!!!)
복원안해도 됩니다.
복원안해도 됩니다.
---
http://coolengineer.com
댓글 달기