The db_deadlock utility traverses the database lock structures and aborts a transaction each time it detects a deadlock. This utility should be run as a background daemon whenever multiple threads or processes are using locking. By default, a random transaction involved in the deadlock is aborted.
The options are as follows:
When a deadlock is detected, abort the oldest (``o) transaction, the youngest (``y) transaction, or the transaction with the minimum number of locks (``m'').
Specify a home directory for the database.
Log the execution of the db_deadlock utility to the specified file in the following format, where ``###'' is the process ID, and the date is the time the utility starting running.
db_deadlock: ### Wed Jun 15 01:23:45 EDT 1995
This file will be removed if the db_deadlock utility exits gracefully.
Initiate a pass over the database locks at least every sec seconds.
Run in verbose mode, generating messages each time the detector runs.
Make a single pass over the database locks every time a process is forced to wait for a lock.
At least one of the -t and -w options must be specified.
The db_deadlock utility attaches to DB shared memory regions. In order to avoid region corruption, it should always be given the chance to detach and exit gracefully. To cause db_deadlock to clean up after itself and exit, send it an interrupt signal (SIGINT).
The following environment variables affect the execution of db_deadlock:
The DB library is a family of groups of functions that provides a modular programming interface to transactions and record-oriented file access. The library includes support for transactions, locking, logging and file page caching, as well as various indexed access methods. Many of the functional groups (e.g., the file page caching functions) are useful independent of the other DB functions, although some functional groups are explicitly based on other functional groups (e.g., transactions and logging).