SQLite: Database is locked
SQLite 数据库无法写入数据,报错:Database is locked
一般有被锁住,大概率是和并发之类的相关,同时操作数据库出的问题;想想不应该呀,我那个是单线程操作一个SQLite数据库;就去Google找了下资料。找到 fuser
命令,可以用来查看那些进程open了这个数据库文件;显示有两个同名的进程,程序被启动了两次,好家伙。然后排查,一个是自己脚本启动的,一个是被dbus唤起的;原因是数据库的进程有初始化的耗时操作,其它进程没有找到脚本启动的那个数据库进程,唤起了一个进程
bash
$ fuser xxx.db
后续有时间在深入研究