On 15.03.2011 15:40, Iñaki Baz Castillo wrote:
2011/3/15 Klaus
Darilion<klaus.mailinglists(a)pernau.at>at>:
(this whole discussion is very theoretically)
So, what if I start kamailio with init script.
Then I configure RUN=NO and
then I call "stop". Then it will report 0 although kamailio is still
running.
And what about if I start kamailio with init script and then delete
the PID file. In this case all the init actions would fail.
Obviously we can suggest lot of exotic cases in which the whole
mechanism gets broken. IMHO we shouldn't cover such cases.
Anyway, IMo if the service is not configured it
should not report success.
Ok, then a better status code (for *any* init action) would be 4:
0 program is running or service is OK
1 program is dead and /var/run pid file exists
2 program is dead and /var/lock lock file exists
3 program is not running
4 program or service status is unknown
5-99 reserved for future LSB use
100-149 reserved for distribution use
150-199 reserved for application use
200-254 reserved
http://refspecs.freestandards.org/LSB_3.1.1/LSB-Core-generic/LSB-Core-gener…
That's the wrong table. The correct one is:
In case of an error while processing any init-script action except for
status, the init script shall print an error message and exit with a
non-zero status code:
1 generic or unspecified error (current practice)
2 invalid or excess argument(s)
3 unimplemented feature (for example, "reload")
4 user had insufficient privilege
5 program is not installed
6 program is not configured
7 program is not running
8-99 reserved for future LSB use
100-149 reserved for distribution use
150-199 reserved for application use
200-254 reserved
So, can we agree on 4 for status and 6 for start/stop? :-)