[sr-dev] git:master: proper LSB return values of init script
Klaus Darilion
klaus.mailinglists at pernau.at
Tue Mar 15 16:34:08 CET 2011
On 15.03.2011 15:40, Iñaki Baz Castillo wrote:
> 2011/3/15 Klaus Darilion<klaus.mailinglists at pernau.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-generic/iniscrptact.html
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? :-)
More information about the sr-dev
mailing list