실행 중인 프로세스에 의해 잠긴 파일의 내용을 지우는 방법은 무엇입니까?

실행 중인 프로세스에 의해 잠긴 파일의 내용을 지우는 방법은 무엇입니까?

저는 Ubuntu 컴퓨터에서 JMeter를 실행하고 있습니다. 그리고 12시간 동안 테스트를 진행합니다. 이 기간 동안 로그 파일이 매우 큰 크기(약 18GB)로 증가한 것을 관찰했습니다.

주기적으로 파일 내용을 정리하기 위해 cron 작업에서 사용할 수 있는 방법이 있습니까?

echo -n "" > jmeter-server.logusing을 사용해 보았지만 sudo테스트 도중 jmeter-server.sh에 의해 파일이 잠겨 있어서 작동하지 않습니다.

시도했지만 유사한 게시물을 찾을 수 없습니다.

답변1

노력하다:

sudo tee thefile </dev/null

또는:

sudo truncate -s 0 thefile

답변2

Sudo는 전달 및 파이프에서 예상대로 작동하지 않습니다. 명령을 sudo해야 하는 경우 이전 부분만 sudo됩니다.>. a를 실행 sudo bash - c "full command"하거나 일시적으로 루트가 되어 sudo -s명령을 실행합니다.

열려 있는 파일로 인해 해당 내용을 편집할 수 있습니다. 단, 파일을 삭제한 후에는 삭제되지 않습니다.

copytruncatelogrotate 옵션 도 확인하세요.

관련 정보