저는 Linux 환경에서 큰 테이블의 항목 수를 계산하는 장기 실행 프로그램을 작성하고 있습니다. 줄 끝에 도달할 때마다 계산된 값을 일반 텍스트 파일로 출력합니다.
파일을 계속해서 다시 열고 추가하는 일을 피하기 위해 파일을 한 번만 열고 프로그램이 실행되는 동안 열어 두는 것을 고려하고 있습니다.
한 번에 열 수 있는 최대 파일 설명자 수에 제한이 있다는 것을 알고 있지만 단일 파일 설명자를 오랫동안 유지하는 데 시간 제한이 있습니까?
참고: 현재 실행 중인 프로세스를 완료하는 데 한 달 이상이 걸릴 수 있습니다.
답변1
내가 올바르게 이해했다면 제안된 솔루션을 찾고 있는 것입니다.여기. 그래서 제안한대로이것답변. 을 사용할 수 있는 옵션이 있는지 알고 싶습니다 exec
. 그래서 구글링을 하다가리눅스는 파일 설명자를 사용하여 추가합니다., 나는 가지고있다이것사용자 답변자일스.
그래서 그의 대답의 본질은 당신이 찾고 있는 것이라고 나는 믿습니다.
exec 5>/tmp/foo # open /tmp/foo for writing, on fd 5
while true; do #
echo "Hello" >&5 # write to fd 5, i.e. /tmp/foo
done #
파일 설명자가 열려 있을 수 있는 최대 시간과 관련하여 여기서 파일 설명자를 닫는 것이 아니기 때문에 루프가 종료되는 한 파일 설명자는 열린 상태로 유지될 것이라고 생각합니다. 제가 링크한 답변에서 자세한 내용을 확인하실 수 있습니다.