libs-ec/Control.plist
2024-01-12 11:34:43 +00:00

181 lines
7.2 KiB
Text

{
/* The main configuration file.
*/
* = {
/* Common section for any/all hosts
*/
* = {
};
Control = {
/* Section for the Control server on any master host.
*/
};
Feep = {
/* Section for the process Feep on any/all hosts.
*/
};
Foo = {
/* Section for the process Foo on any/all hosts.
*/
};
};
localhost = {
/* Section for the host named localhost
*/
* = {
/* Common section for any/all processes on localhost.
*/
};
Bar = {
/* Section for process Bar on localhost
*/
};
Foo = {
/* Section for process Foo on localhost
*/
};
Command = {
/* Section for Command server on localhost
* The 'Launch' dictionary specifies what programs may be launched.
*/
Launch = {
/* Specifications of how to launch individual programs:
*
* Disabled = (boolean) Whether this program can be launched
* Prog = (string) The name (or full path) of the executable
* Home = (string) The subdirectory the program is started up in
* (relative to the user home directory) and the
* subdirectory in which debug logs are stored.
* Equivalent to using -HomeDirectory in Args.
* Args = (array) The arguments supplied to the program
* Auto = (boolean) Whether the program is started automatically
* Time = (integer) How many seconds after a crash until the
* automatic restart (defaults to 0; fast)
* AddE = (dictionary) key/value pairs added to the environment
* SetE = (dictionary) key/value pairs to be used as environment
* Deps = (array) Names of other processes needed by this one
* KeepStandardOutput = (boolean) Don't close stdout
* KeepStandardError = (boolean) Don't close stderr
*
* ValgrindPath = (string) Run under valgrind (unless empty)
* ValgrindArgs = (array) Run under valgrind using these args
*
* PingTime = (integer) If greater than zero, this is the ping delay in
* seconds (otherwise the default of 240 is used,
* or as specified by the CommandPingTime default).
* When a process has been unresponsive to the
* Command server for this number of seconds, that
* process is considered to be hung.
* HungTime = (integer) If greater than zero this the interval after
* which an apparently hung process has a restart
* scheduled. If/when the restart is scheduled
* either the HungTool or gcore is executed
* to save information about the hung process.
* HungTool = (string) The name of a tool or script to be executed
* after HungTime in order to gather information
* about the hung process. It's arguments will
* be the process name and the process ID.
* QuitTime = (integer) If greater than zero this the interval before
* a process is forcibly killed if it is stopping
* or restarting too slowly. The default (used
* if this is not specified and greater than zero)
* is 120 seconds (or as specified by the
* CommandQuitTime default).
*
* If a process hangs and is configured to auto-restart when hung:
* The total time taken is (PingTime + HungTime + StopTime)
* After PingTime seconds of unresponsiveness an alarm is raised.
* Then after HungTime seconds restart is initiated and HungTool runs.
* Then after StopTime seconds the process is forcibly killed.
*
* If the system is running with encrypted Distributed Objects then
* child processes may be launched with specific TLS options (rather
* than inheriting the configuration of the Command server) by adding
* ClientOptionsForTLS = {dictionary};
* to specify the options used when the child connects to another
* process (eg when the child registers with the Command server) and
* ServerOptionsForTLS = {dictionary};
* to specify the options used when another process connects to the
* child process.
* If the child is supposed to use the same options in both cases,
* a single OptionsForTLS dictionary may be used instead.
* The contents of the dictionary are TLS configuration keys and
* values as per the gnustep-base documentation:
* GSTLSCAFile GSTLSCertificateFile GSTLSCertificateKeyFile
* GSTLSCertificateKeyPassword GSTLSDebug GSTLSPriority
* GSTLSRemoteHosts GSTLSRevokeFile GSTLSServerName GSTLSVerify
*/
Foo = {
Prog = "/usr/GNUstep/Local/Tools/Foo"; // Full path to binary
Home = "Test"; // Directory to run in
Args = ("-Debug", "YES"); // Args to launch with
Auto = NO; // Auto-launch?
KeepStandardOutput = YES; // Don't close stdout
KeepStandardError = YES; // Don't close stderr
};
Bar = {
Prog = "Bar"; // Name of binary
Home = "Test"; // Directory to run in
Args = ("-Debug", "YES"); // Args to launch with
Auto = YES; // Auto-launch?
Deps = (Foo); // if Foo is running
};
Feep = {
Prog = "Feep"; // RName of binary
Home = "Test"; // Subdirectory
Auto = YES; // Auto-launch?
Time = 30; // Interval for relaunching after crash
};
};
/* Specify launch order ... Feep first, Bar second
* Processes not listed here are launched in lexicographical order
* after any processes which are listed.
*/
LaunchOrder = (
Feep, // Launch Feep first
Bar // Launch Bar second
);
/* Specify how many tasks the Command server may have launching
* concurrently (default is 20). You may want to set this to a
* lower value in order to reduce load when the system start up.
*/
LaunchLimit = 20;
/* Specify whether, when the Command server starts, launching of
* tasks should be suspended (as if the 'suspend' command had been
* sent to it from the Console).
* By default this is NO.
*/
LaunchStartSuspended = NO;
/* Optionally specify an alternative default environment for launched
* processes. If this is not set then the environment in which the
* Command server was launched is used.
* SetE = {
* };
*/
/* Optionally specify additions to the default environment for launched
* processes. This is typically used to modify the information that
* comes from the environment the Command server was launched in.
* AddE = {
* };
*/
/* Configure all tasks to be run under valgrind specifying the path
* to the process, which may be overridden on a per-process basis
* in the Launch config. Setting ValgrindPath to an empty string
* in the launch config ensures that the process is NOT launched
* under valgrind.
* ValgrindArgs = (...);
* ValgrindPath = "...";
*/
};
};
/* Section specific for the Control server itself.
*/
"" = {
};
}