Oracle® Solaris Cluster Reference Manual

Exit Print View

Updated: July 2014, E39662-01
 
 

scds_timerun (3HA)

Name

scds_timerun, scds_timerun_delay - execute a given command in a given amount of time

Synopsis

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);
     scha_err_t scds_timerun_delay(scds_handle_t handle, const char *command, 
     time_t timeout, int signal, int *cmd_exit_code);

Description

The scds_timerun() function executes a specified command using hatimerun. 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 scds_timerun_delay()() function behaves the same as scds_timerun(), except that it invokes the hatimerun command with the –d (delay) command-line option. This option delays starting the timeout clock until the command has begun executing. On a heavily loaded system, there can be seconds of delay from the time that the child process is forked until the time that the designated program begins to execute. The use of the –d option avoids counting that additional pre-execution time against the allotted timeout period.

Parameters

The following parameters are supported:

handle

The handle returned from scds_initialize(3HA)

command

String that contains the command to run

timeout

Time, in seconds, allotted to run the command

signal

Signal to kill the command if it is still running when the timeout expires. If signal = -1, then SIGKILL is used. See signal (3HEAD) .

cmd_exit_code

Return code from execution of the command

Return Values

The scds_timerun() function returns the following:

0

The function succeeded.

nonzero

The function failed.

Errors

SCHA_ERR_NOERR

The command executed and cmd_exit_code contains the child program's exit status.

SCHA_ERR_INTERNAL

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.

SCHA_ERR_INVAL

There was an invalid input argument.

SCHA_ERR_TIMEOUT

The timeout occurred before the command specified by the command argument finished executing.

See scha_calls(3HA) for a description of other error codes.

Files

/usr/cluster/include/rgm/libdsdev.h

Include file

/usr/cluster/lib/libdsdev.so

Library

Attributes

See attributes (5) for descriptions of the following attributes:

ATTRIBUTE TYPE
ATTRIBUTE VALUE
Availability
ha-cluster/developer/api
Interface Stability
Evolving

See also

hatimerun(1M), scds_initialize(3HA), scha_calls(3HA), signal (3HEAD) , attributes (5)