[김성민]님이 남기신 글:
>안녕하세요.
>
># abc 라는 파일에서,
>
>startQ=`/home/test >/dev/null 2>&1`
>if [ $? != 0 ] ; then
> echo "실행 실패"
> exit 0
>else
> echo "실행 완료"
>fi
>
>이와 같이 했고,
>
># /home/test 에서는
>
>#!/usr/local/php/bin/php -q
><?
>어쩌구.....
>$fp = @fopen($File, "r");
>if(!$fp){
> echo "File open error!!";
> exit;
>}
>?>
>
>이런식으로 하였을때,
>
>abc 파일이 수행도중에 /home/test 파일에서 어떠한 이유로 중단되면, 그 중단여부를 받을 수 있는 방법이 있는지 해서요..
>
>startQ=`/home/test >/dev/null 2>&1`
>if [ $? != 0 ] ; then
> echo "실행 실패"
> exit 0
>else
> # 실행은 되었으나, /home/test 파일에서 exit 가 발생하면 그 여부를 여기서 구분할 수 있는지요?
> if [ **** ] ; then
> echo "실행은 되었으나 작업이 완료되지 못했다."
> else
> echo "실행 완료"
> fi
>fi
>
>
>이런식으로요..
>수고하세요..
========================================
---- /home/test -------------------
#!/usr/local/php/bin/php -q
<?php
어쩌구.....
$fp = @fopen($File, "r");
if(!$fp){
error_log("File open error!!",0); // 표준 에러 메시지
exit(1); // 이렇게 1, 이건 쉘에서 에러를 의미
}
...
fclose($fp);
exit(0); // 이렇게 0, 이건 쉘에서 성공을 의미
?>
이런식으로 exit(에러번호) 를 사용하세요.
쉘에서 에러번호는 해당 프로세스 종료시그널 번호입니다.
쉘에서 주의할 점은 0 은 FALSE 가 아닌 "정상적으로 작업이 완료되었다" 라는 의미입니다.
------------------------------------ |