我有一个命令,例如ls-l> file.txt的 当我的驱动器上没有足够的空间时,上面的命令就会停止等待发生的事情。有没有人知道我能编写的代码,使我能够显示有关驱动器空间不足的消息?例如。我可以使用IPC还是您有其他想法?提前谢谢。
答案 0 :(得分:0)
您可以使用df
命令来确定驱动器上的可用空间量,例如,如果可用空间少于5M,则不要开始处理。
或者您可以从内部程序中检查可用空间量并将警告消息写入STDERR。
答案 1 :(得分:0)
通过另一个程序输出管道命令,该程序将拦截写入错误(例如ENOSPC
),打印诊断并在没有其他任何操作的情况下失败。
此程序可以像cat
一样简单:
foobar | cat > file.txt
cat
会报告错误并死亡,foobar
会收到SIGPIPE
,默认操作也会死亡。