python / sqlite3 - 写入文件的进程是哪个?

python / sqlite3 - Which is the process writing the file?

如果我在 python 中使用 sqlite3 构建数据库,编辑数据库文件的进程将被调用什么?

我能否从 shell 中注意到数据库未关闭 - 即使当前没有提交任何插入?

SQLite 是一个嵌入式 数据库,因此没有单独的进程。

您可以使用 lsof 或类似工具检查 Python 进程是否有数据库文件的打开句柄。但是,这样的句柄对应于一个打开的连接;它不会告诉您是否有活跃交易。

一个事务锁定了数据库文件;您可以尝试使用 lslklslocks 进行检查。但是如果你真的想对数据库做点什么,最好使用 SQLite 本身的同步机制,并尝试执行 BEGIN EXCLUSIVE.