Urgent Mode
[posted 2007/01/22]
[Notes (edited slightly) issued with the release of PIKT 1.19.0pre3, which: introduced a new piktc & pikt command-line option, '-U', for running in "urgent mode" (where no lock file blocks operation).]
In many of your alarm scripts, you might be running instances of piktc, either in the script 'input' statement, else in an 'exec' or 'exec wait' statement (or possibly other ways), each of which would apply a lock file to block other piktc runs. So your current command-line piktc operation might fail with the complaint
Jan 18 15:23:20 vienna piktc[29375]: [ID 2900 ERROR] (../../../src/piktc/piktc.c, line 408, main()) /pikt/etc/piktc.lock found! Another piktc session may be in progress. Try again later (else rm the /pikt/etc/piktc.lock lockfile).
But what if you had an urgent piktc operation that you needed to run, no matter what? Or what if you are confident that in no way should your current command-line piktc operation, say
# piktc -ivT +A Test +H vienna
interfere with another piktc operation (including one launched by a fellow sysadmin elsewhere on the network)?
Or suppose that, while Pikt scripts are launching automatically in the background (by way of the PIKT scheduling daemon, piktd), you want to run a Pikt script interactively at the command line, say
# pikt +A DownSystems
(a script to poll all systems for signs of crashes or network downages)? A script running in the background might interfere with the current DownSystems run attempt, and a similar error message would appear on-screen announcing the run failure and warning of a blocking lock file.
Now, you may overcome these lock file blocks using the '-U' option. So, for example, you might do
# piktc -ivTU +A Test +H vienna
or
# pikt -U +A DownSystems
and either would run, regardless of any other PIKT activity elsewhere on the network.
Note that you should not get in the habit of using '-U' in a knee-jerk fashion or unthinkingly. Often there are good reasons to block concurrent piktc or pikt operations. Try to use '-U' only in situations of special urgency or where you are fully confident that forging full speed ahead will not get you into trouble.
For more examples, see Developer's Notes.