|Skip Navigation Links|
|Exit Print View|
|Oracle Solaris Cluster Reference Manual Oracle Solaris Cluster 4.0|
- execute a given command in a given amount of time
cc [flags…] -I /usr/cluster/include file -L /usr/cluster/lib -l dsdev #include <rgm/libdsdev.h> scha_err_t scds_timerun(scds_handle_t handle, const char *command, time_t timeout, int signal, int *cmd_exit_code);
The scds_timerun() function executes a specified command using hatimerun(1M). If the command does not complete within the allotted time period, which is specified by the timeout argument, scds_timerun() sends a signal, specified by the signal argument, to kill it.
The command argument does not support I/O redirection. However, you can write a script to perform redirection and then identify this script in the command argument as the command for scds_timerun() to execute.
The following parameters are supported:
The handle returned from scds_initialize(3HA)
String that contains the command to run
Time, in seconds, allotted to run the command
Signal to kill the command if it is still running when the timeout expires. If signal = -1, then SIGKILL is used. See signal(3HEAD).
Return code from execution of the command
The scds_timerun() function returns the following:
The function succeeded.
The function failed.
The command executed and cmd_exit_code contains the child program's exit status.
The timeout did not occur, but some other error was detected by scds_timerun() that was not an error detected by the child program. Or hatimerun(1M) caught the signal SIGTERM.
There was an invalid input argument.
The timeout occurred before the command specified by the command argument finished executing.
See scha_calls(3HA) for a description of other error codes.
See attributes(5) for descriptions of the following attributes: