Shell-Script
如何清除被正在執行的程序鎖定的文件的內容?
我在 Ubuntu 機器上執行 JMeter。並進行 12 小時的測試。在此期間,我觀察到日誌文件正在增加到非常大的大小(大約 18 GB)。
有什麼方法可以在 cron 作業中使用,它會定期清理文件的內容?
我曾嘗試使用
echo -n "" > jmeter-server.log
usingsudo
,但它無法正常工作,因為在進行測試期間,該文件被 jmeter-server.sh 鎖定。試過但找不到類似的文章。
嘗試:
sudo tee thefile </dev/null
或者:
sudo truncate -s 0 thefile
Sudo 在轉發和管道中無法正常工作。如果您要 sudo 您的命令,它只會 sudo **>**之前的部分。要麼做 a
sudo bash - c "full command"
要麼暫時成為 rootsudo -s
並執行你的命令。正在打開的文件不會阻止您編輯其內容。但是,在您刪除文件後,它不會刪除該文件。
還要查看
copytruncate
logrotate 的選項