in reply to Re: Preventing multiple instances
in thread Preventing multiple instances
PID files have a "fun" gotcha in daemons started as part of system boot — two instances of the same daemon may well get the same PID!
This does not prevent using a PID file, after all, you know that this instance of the program has not written the PID file yet, so if you read it and find that it matches $$, you know the PID has been recycled across reboots.
Perhaps the best option would be to place the PID file on a RAM filesystem that starts out empty every time the system boots. This way, there is no possibility of a stale PID file from the previous session and you avoid needless flash writes as a bonus.
Even if the daemon is run from cron, this issue could bite our questioner — the daemon reboots the system if the time is not set within some grace period, so a network failure could cause the system to start, fail to set the clock, reboot, start the daemon with the same PID again, fail to set the clock, ...
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^3: Preventing multiple instances
by jeffenstein (Hermit) on Dec 18, 2020 at 10:21 UTC | |
|
Re^3: Preventing multiple instances
by Bod (Parson) on Dec 17, 2020 at 18:38 UTC |