실행중인 서비스의 통계를 출력하기 위해 유닉스 명명 된 파이프를 사용하려고합니다. 나는 /proc
과 유사한 인터페이스를 제공하고자합니다. 파일을 catting하여 실시간 통계를 볼 수 있습니다.UNIX라는 이름의 파일 끝 파일
나는 내 파이썬 코드에서 다음과 유사한 코드를 사용하고 있습니다 :
while True:
f = open('/tmp/readstatshere', 'w')
f.write('some interesting stats\n')
f.close()
/tmp/readstatshere
은 mknod
만든 명명 된 파이프입니다.
$ cat /tmp/readstatshere
some interesting stats
. 그러나, 나가 빠른 연속 안에 입장을 몇 시간 붙잡는 경우에, 때때로 나는 1 대신에 some interesting stats
의 다수 선을 얻는다. 한 두 번, 내가 그것을 죽일 때까지 그 줄을 영원히 인쇄하는 무한 루프에도 들어갔다. 지금까지 얻은 유일한 해결책은이 문제를 방지하기 위해 f.close()
이후에 500ms를 지연시키는 것입니다.
왜 이런 일이 발생했는지, 그리고 더 좋은 방법이 있는지 알고 싶습니다.
미리 감사드립니다.
일반 파일과 일반 파일을 사용해야하는 이유가 있습니까? –
@Manour Merge가 완료되었습니다. –