linux下删除大文件的方法

linux下删除大文件的方法

我一直面临一个问题,在使用lsof | grep deleted命令时,我得到了以下结果:

sendmail  11633  smmsp    3uW     REG                8,7    329818112    8119977 /var/spool/clientmqueue/dft4CCv1K5011633 (deleted)
tcpdump   11759   pcap    4w      REG                8,7 446113333248   41846283 /var/kalsym/logs/CAPTimedOUT_monitor/capAbort_2015-05-12_17-57-01.pcap (deleted)

然后我按照这个程序进行操作。

cd /proc/11759/fd
> /proc/11759/fd/4

但在那之后,没有观察到对/var尺寸的影响。关于这个问题,我在网上搜索了很多,并尝试了所有可能的方法,但没有成功。请建议我解决这个问题的方法。

答案1

您需要终止该进程以释放磁盘空间。将来您可以使用截断文件

    echo "" > file_name

如果该文件正在被任何正在运行的进程使用,而不是删除该文件。

答案2

cat /dev/null > /proc/PID/fd/4

答案3

这也将清除文件的内容

cp /dev/null filename

相关内容