리눅스에서 C 프로그램을 짤때
exit(0); exit(1); exit(2);
등이 사용되던데 어떤걸 말하는지요... 제가 알기론 해당 시그날을 보내는걸루 알고 있는데 0과 1과... 다른 숫자들의 차이점이 무엇인지 궁금합니다.
음.. 뭐더라 프로그램이 종료하고 나서 종료값을 남기는 거였는데.. 스크립트에서 이 리턴값을 조사해서 성공인지 스킵할지 다시 한번 더할지 등등을 결정했었던 기억이 남아있습니다..
ㅡ_ㅡ;
0이외의 값은 모두 비정상 종료입니다. main()에서의 return도 C-startup을 거친후 exit()와 같은 길을 걸어가게 됩니다. 같은 길이라 하면은 exit handler를 거친 후 _exit()을 호출을 하게됩니다.
그리고 main()에서의 리턴값은 셀프로그래밍에서 아주 유용하게 이용이 되게 됩니다. 이 리턴값을 저번에 echo인가를 이용해서 출력한것 같은데... 정확한 방법은 기억이 나질 않는군요.
<어떠한 역경에도 굴하지 않는 '하양 지훈'>
#include <com.h> <C2H5OH.h> <woman.h> do { if (com) hacking(); if (money) drinking(); if (women) loving(); } while (1);
echo $? 를 통해서 확인할 수 있죠.
그리고, 만약 만든 프로그램이 myprog 이라면 다음과 같이 사용할 수도 있습니다.
exit(0) 을 하면 참이고 0 이외에는 거짓입니다.
if ./myprog; then echo "Success" else echo "Failure" fi 또는 ./myprog case "$?" in "0") echo "Sucess" ;; "1") echo "Failure 1" ;; "2") echo "Failure 2" ;; esac
---http://coolengineer.com
텍스트 포맷에 대한 자세한 정보
<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]
음.. 뭐더라 프로그램이 종료하고 나서 종료값을 남기는 거였는데..스
음.. 뭐더라 프로그램이 종료하고 나서 종료값을 남기는 거였는데..
스크립트에서 이 리턴값을 조사해서 성공인지 스킵할지 다시 한번 더할지 등등을 결정했었던 기억이 남아있습니다..
ㅡ_ㅡ;
0이외의 값은 모두 비정상 종료입니다.main()에서의 return도
0이외의 값은 모두 비정상 종료입니다.
main()에서의 return도 C-startup을 거친후 exit()와 같은 길을 걸어가게 됩니다.
같은 길이라 하면은 exit handler를 거친 후 _exit()을 호출을 하게됩니다.
그리고 main()에서의 리턴값은 셀프로그래밍에서 아주 유용하게 이용이 되게 됩니다.
이 리턴값을 저번에 echo인가를 이용해서 출력한것 같은데...
정확한 방법은 기억이 나질 않는군요.
<어떠한 역경에도 굴하지 않는 '하양 지훈'>
#include <com.h> <C2H5OH.h> <woman.h>
do { if (com) hacking(); if (money) drinking(); if (women) loving(); } while (1);
echo $? 를 통해서 확인할 수 있죠.그리고, 만약 만든
echo $?
를 통해서 확인할 수 있죠.
그리고, 만약 만든 프로그램이 myprog 이라면 다음과 같이 사용할 수도 있습니다.
exit(0) 을 하면 참이고 0 이외에는 거짓입니다.
---
http://coolengineer.com
댓글 달기