我在C中创建了一个程序用于删除Linux中的文件,但我想在后台应用计时器,例如文件将在5分钟或10分钟后或程序员给出的任何指定时间内删除我应该怎么做才能实现一个时间。
答案 0 :(得分:1)
你应该启动一个休眠一段时间的线程,然后删除该文件。
sleep()
。无论如何,删除文件不会影响已打开的文件。您可以在命令行中尝试它,启动两个终端,一个使用cat >/tmp/myfile
,另一个使用rm /tmp/myfile
。删除文件后cat
不会死亡。
也许,最好重新考虑这个问题:你的目标是什么?
答案 1 :(得分:0)
最简单的方法是使用stat
系统调用读取文件时间戳,然后使用select
,poll
或其他基于事件的库继续检查当前系统时间。当它们超过某个值时,您将继续unlink
该文件。
当然,你是在线程或其他过程中做到的。
参考man 2 stat
和man 2 unlink