Shell-Script

如何清除被正在執行的程序鎖定的文件的內容?

  • July 4, 2020

我在 Ubuntu 機器上執行 JMeter。並進行 12 小時的測試。在此期間,我觀察到日誌文件正在增加到非常大的大小(大約 18 GB)。

有什麼方法可以在 cron 作業中使用,它會定期清理文件的內容?

我曾嘗試使用echo -n "" > jmeter-server.logusing sudo,但它無法正常工作,因為在進行測試期間,該文件被 jmeter-server.sh 鎖定。

試過但找不到類似的文章。

嘗試:

sudo tee thefile </dev/null

或者:

sudo truncate -s 0 thefile

Sudo 在轉發和管道中無法正常工作。如果您要 sudo 您的命令,它只會 sudo **>**之前的部分。要麼做 asudo bash - c "full command"要麼暫時成為 rootsudo -s並執行你的命令。

正在打開的文件不會阻止您編輯其內容。但是,在您刪除文件後,它不會刪除該文件。

還要查看copytruncatelogrotate 的選項

引用自:https://unix.stackexchange.com/questions/596721