Does init scripts return PID? I don't think so. They doesn't operate with PID even.
Well, DHCP is not good example. Between others I have to start several instances of another daemon. Doesn't mater which one. It's source code can't be fixed too. It has the same "fork && exit" pair inside. And the same "wrong saved PID" problem too.
Init scripts allow start one instance and I need several.
Also I need to save PID to select which instance to stop on request. Standard approach doesn't work here, as I think.
Do you have any more suggestions?