「pkg: Cannot get an advisory lock on a database, it is locked by another process」で困った2019年06月02日 12時47分29秒

FreeBSD でシステムが無反応になってしまったので、pkg upgrade の途中だったが、強制再起動をしてみた。dynabook TX モデルで非力ではあるが、13-CURRENT を動かしている。
$ pkg upgrade
process with pid 1022 still holds the lock
process with pid 1022 still holds the lock
process with pid 1022 still holds the lock
process with pid 1022 still holds the lock
process with pid 1022 still holds the lock
process with pid 1022 still holds the lock
pkg: Cannot get an advisory lock on a database, it is locked by another process
再起動後も、以前のプロセス ID がデータベースに残っているようだ。最大 pid もまだ、1022 にいっていない。

調べると、プロセスを殺したら直ったといくつか出て来るが、今回はどうも当てはまらない。生成されてもいないプロセスを終了させる事はできない。

しかし、既に手は詰んでいる。あれこれと試している内に、1022 プロセス ID は dhclient に使われた。駄目元で、kill -9 1022 を送る。

なんと、pkg のロックのエラーが消えた。なぜだか分からないが再現できないのと、取り合えず動き出したので良しとする。