On 15.03.2011 15:40, IƱaki Baz Castillo wrote:
2011/3/15 Klaus Darilionklaus.mailinglists@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-generi...
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? :-)