NAME

Svsh::Perp - perp support for svsh

DESCRIPTION

This class provides support for perp to svsh - the supervisor shell.

DEFAULT BASE DIRECTORY

As per the perpboot documentation, perp does not have a default base directory, but will check if a PERP_BASE environment variable is set, and if not, will try /etc/perp. This class will do the same if a base directory is not provided to svsh.

IMPLEMENTED METHODS

Refer to Svsh for complete explanation of these methods. Only changes from the base specifications are listed here.

status()

perp provides more information about service statuses then other supervisors. down means the service is down but should be up (unexpected down), disabled means the service is down because it was manually stopped, resetting means the service is restarting, and backoff means the service is attempting to start (possibly failing, not necessarily).

This uses the A option of perpctl instead of u or U, see stop() why.

This uses the X option of perpctl instead of d or D, as there seems to be a bug(?) where processes stopped with this option failed to start again when the start() method is called.

signal( $signal, @services )

fg( $service )

rescan()

terminate()

BUGS AND LIMITATIONS

Please report any bugs or feature requests to https://github.com/ido50/Svsh/issues.

AUTHOR

Ido Perlmuter <ido@ido50.net>

Thanks to the guys at the supervision mailing list, especially Colin Booth, for helping out with suggestions and information.

LICENSE AND COPYRIGHT

Copyright (c) 2015-2023, Ido Perlmuter ido@ido50.net.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

3 POD Errors

The following errors were encountered while parsing the POD:

Around line 81:

Unknown directive: =head

Around line 92:

Unknown directive: =head

Around line 104:

Unknown directive: =head