将数据存储在硬盘上,以便当前进程只能访问它

时间:2014-11-30 12:58:15

标签: c++ c file process daemon

我在C(Visual Studio)中创建一个守护进程。基本上我只是得到一个.exe,一旦启动,将运行直到计算机关闭(让我们假设我使用的是Windows虽然这个问题对其他操作系统也有效)。

该进程有一个输出,我选择存储在一些文件中。我将此输出存储在文件而不是内存中的原因是:如果用户杀死进程该怎么办?然后,如果它在内存中,所有数据都会流失。唯一的问题是:我不希望用户能够修改我的进程正在生成的文件。

有没有办法可以保护文件只能由创建它们的进程访问(或至少可修改)?

一种看似非常不方便的方法:使用管理员权限运行进程并写入只能由管理员访问但不能由当前用户访问的位置(不方便,因为我必须依赖于当前用户不是管理员的事实)

这是一个常见问题吗?它是否具有除上述解决方法之外的标准/已知解决方案?

0 个答案:

没有答案