2013-08-21 1 views
2

에 어떤 변화를 볼 수 없습니다.내가이 명령을 사용하여 서버에서 실행 파이썬 스크립트가 nohup.out은

내가 다시 와서 그것을 확인하려고 몇 일 후, 내가 그랬어 :

[email protected]:/home/ubuntu# tail -f nohup.out 
8809896 
8809897 
8809898 
8809899 
8809900 
8809901 
8809902 
8809903 
8809904 
8809905 

내가 조금 기다렸다하지만 아무것도 무슨 일이 생긴 없습니다 : 그것은 나에게 결과를 준

tail -f nohup.out 

. 이 스크립트는 RabbitMQ에 메시지를 보내고 카운트를 업데이트하고 프린트하기로되어 있습니다. 스크립트는 계속 실행되고 있었고, 확실하게 알고 있습니다. 끊임없이 새로운 메시지를 볼 수 있었기 때문입니다. 하지만 nohup.out 붙어 있습니다. 나는 또한 ls -l 명령을 사용하여 크기가 변경되었는지 확인했지만 아직 행운을 찾지 못했습니다. 그 이유가 무엇인지 알고 계십니까? 나는 그것이 결국 갱신 될 것이지만 그것이 얼마나 오래 걸릴지를 모른다라고 생각한다. 그렇다면이 파일을 지속적으로 업데이트 할 수있는 방법이 있습니까? 이 경우 nice -20 도움이 될 것입니다? /usr/sbin/logrotate 조금 기다렸다 및 nohup.out 파일 그냥 보통의 쉘과 같은 nohup에서 실행되고있는 프로그램에 의해 직접 작성 신선한 nohup.out

+0

프로세스가 아직 실행 중이십니까? –

+0

프로세스가 실행 중이고 스크립트가 실행 중입니다 – Vor

답변

4

의 변화를보고와

는 UPDATE

는 그냥 로그를 회전 리다이렉션. 업데이트되지 않는다면 문제는 파이썬 프로그램이 아니라 nohup 그 자체입니다.

+0

파일 ('nohup.out')이 1G처럼 커지면 출력에서 ​​볼 수있는 지연 문제 일 수 있습니까? – Vor

+6

파이썬 프로세스가 출력 버퍼를 디스크로 플러시하기로 결정했을 가능성이 큽니다. 프로그램에서 종종 발생하는 일은 출력이 대화 형 터미널에 연결되면 출력이 라인 버퍼되어 있기 때문에 라인이 작성 될 때마다 출력으로 플러시되지만 프로그램이 stdout을 사용하여 실행되면 파일은 블록 버퍼이며 출력 파일은 자주 업데이트되지 않습니다. – Joni

+1

이것은 매우 좋은 설명이며 아마도 대답 일 것입니다. – Vor

관련 문제