백그라운드 실행시 출력 내용 저장하기
글쓴이: einstrom / 작성시간: 금, 2014/10/24 - 11:29오전
안녕하세요
리눅스에서 백그라운드로 실행시 출력 내용을 저장하기 위해서 열심히 애쓰고 있습니다....
보통 오래걸리는 작업을 백그라운드로 실행하실텐데요...
find . -name '*.c' >> test.txt & 이렇게 해주고 나서 cat test.txt 하면 잘 저장이 되고 있더라구요
근데 제가 시도하는
wpa_supplicnat -i wlna0 -c wpa_supplicant.conf >> test.txt & 를 수행하면 실시간으로 저장이 되지않고
wpa_supplicant가 종료 되어야지만 test.txt에 저장이 됩니다...
그래서 printf 로 간단한 어플을 만들어 동일하게 리다이렉션을 해보니.. 역시 정상적으로 종료 되어야 지만 test.txt에 저장이 되더라구요
중간에 나오는 출력들은 어디에 저장이 되어있는건지.. 바로바로 저장된 파일을 보고 싶으면 어떻게 해야 하나요..ㅠㅠ
Forums:
fflush(stdout) 을 해주면 되는군요..
소스에서
while(1)
{
printf("test\n");
fflush(stdout);
}
다음과 같이 fflush를 사용하면 백그라운드시에도 바로바로 log를 저장하게 되는군요..
이에 대한 shell 명령어가 없는지 찾아봐야 겠군요
./print_test 2>&1 | tee
./print_test 2>&1 | tee test.txt &
바로 바로 적용이 되는군요.. 왜이렇게 해맸는지.. 음
댓글 달기