在 CentOS 系统中,nohup
命令用于在后台运行程序,即使关闭终端或断开连接,程序也会继续运行。nohup
会将输出重定向到一个名为 nohup.out
的文件中。随着时间的推移,这个文件可能会变得非常大。要清理 nohup.out
文件,可以使用以下方法:
-
清空
nohup.out
文件内容:使用
truncate
命令可以清空文件内容,而不删除文件本身。这样,程序仍然可以将新的输出写入文件。truncate -s 0 nohup.out
或者使用
echo
命令将空内容写入文件:echo -n "" > nohup.out
-
删除并重新创建
nohup.out
文件:使用
rm
命令删除nohup.out
文件,然后重新运行程序。这样,新的输出将被写入一个新的nohup.out
文件。rm nohup.out nohup your_command &
请注意,这种方法会导致丢失之前的输出记录。
-
定期清理
nohup.out
文件:可以使用
logrotate
工具定期清理nohup.out
文件。首先,创建一个新的 logrotate 配置文件:sudo vi /etc/logrotate.d/nohupout
然后,将以下内容添加到配置文件中:
/path/to/your/nohup.out { daily rotate 7 compress missingok notifempty create 0640 user group }
这将每天清理一次
nohup.out
文件,并保留最近 7 天的日志。日志文件将被压缩,并在需要时创建新的空文件。最后,确保 logrotate 服务已启用并正在运行:
sudo systemctl enable logrotate sudo systemctl start logrotate
根据你的需求选择合适的方法来清理 nohup.out
文件。