在Linux系统上,我有一个用Write-ahead记录创建的SQLite数据库,比如用户“bob”。
/home/bob/sqliteTest/test.db
我还有一个编译程序,名为“sqliteTest”,其中包含sqlite命令。
如果用户“bob”运行sqliteTest程序,它将运行完成,并且test.db所在的目录中没有wal shm文件。
为了允许其他用户访问test.db,我允许每个人都拥有对sqliteTest目录的写入/执行权限。
因此,用户“joe”出现并决定运行sqliteTest程序。 “joe”运行程序完成,但是当他完成时,wal和shm文件仍保留在目录中,所有者为“joe”,只读,但“joe”可写。
就像我说的,我已经更改了允许任何人写入/执行的权限。所以,这真的让我很难过。如果“bob”用户在该过程完成后没有这些文件,则看起来代码正在自行正确清理。 谢谢你的帮助! 凯文B