Windows PowerShell command on Get-command sigaction
MyWebUniversity

Manual Pages for UNIX Operating System command usage for man sigaction

System Calls sigaction(2)

NAME

sigaction - detailed signal management

SYNOPSIS

#include

int sigaction(int sig, const struct sigaction *restrict act,

struct sigaction *restrict oact);

DESCRIPTION

The sigaction() function allows the calling process to exam-

ine or specify the action to be taken on delivery of a specific signal. See signal.h(3HEAD) for an explanation of general signal concepts. The sig argument specifies the signal and can be assigned

any of the signals specified in signal.h(3HEAD) except SIG-

KILL and SIGSTOP. If the argument act is not NULL, it points to a structure specifying the new action to be taken when delivering sig. If the argument oact is not NULL, it points to a structure where the action previously associated with sig is to be

stored on return from sigaction().

The sigaction structure includes the following members:

void (*sa_handler)();

void (*sa_sigaction)(int, siginfo_t *, void *);

sigset_t sa_mask;

int sa_flags;

The storage occupied by sa_handler and sa_sigaction may

overlap, and a standard-conforming application (see stan-

dards(5)) must not use both simultaneously.

The sa_handler member identifies the action to be associated

with the specified signal, if the SA_SIGINFO flag (see

below) is cleared in the sa_flags field of the sigaction

structure. It may take any of the values specified in signal.h(3HEAD) or that of a user specified signal handler.

If the SA_SIGINFO flag is set in the sa_flags field, the

sa_sigaction field specifies a signal-catching function.

SunOS 5.11 Last change: 23 Mar 2005 1

System Calls sigaction(2)

The sa_mask member specifies a set of signals to be blocked

while the signal handler is active. On entry to the signal handler, that set of signals is added to the set of signals

already being blocked when the signal is delivered. In addi-

tion, the signal that caused the handler to be executed will

also be blocked, unless the SA_NODEFER flag has been speci-

fied. SIGSTOP and SIGKILL cannot be blocked (the system silently enforces this restriction).

The sa_flags member specifies a set of flags used to modify

the delivery of the signal. It is formed by a logical OR of any of the following values:

SA_ONSTACK If set and the signal is caught, and if the

thread that is chosen to processes a delivered signal has an alternate signal stack declared with sigaltstack(2), then it

will process the signal on that stack. Oth-

erwise, the signal is delivered on the thread's normal stack.

SA_RESETHAND If set and the signal is caught, the dispo-

sition of the signal is reset to SIG_DFL and

the signal will not be blocked on entry to the signal handler (SIGILL, SIGTRAP, and SIGPWR cannot be automatically reset when delivered; the system silently enforces this restriction).

SA_NODEFER If set and the signal is caught, the signal

will not be automatically blocked by the kernel while it is being caught.

SA_RESTART If set and the signal is caught, functions

that are interrupted by the execution of

this signal's handler are transparently res-

tarted by the system, namely fcntl(2),

ioctl(2), wait(3C), waitid(2), and the fol-

lowing functions on slow devices like termi-

nals: getmsg() and getpmsg() (see getmsg(2)); putmsg() and putpmsg() (see putmsg(2)); pread(), read(), and readv()

(see read(2)); pwrite(), write(), and wri-

tev() (see write(2)); recv(), recvfrom(), and recvmsg() (see recv(3SOCKET)); and send(), sendto(), and sendmsg() (see send(3SOCKET)). Otherwise, the function returns an EINTR error.

SunOS 5.11 Last change: 23 Mar 2005 2

System Calls sigaction(2)

SA_SIGINFO If cleared and the signal is caught, sig is

passed as the only argument to the signal-

catching function. If set and the signal is caught, two additional arguments are passed

to the signal-catching function. If the

second argument is not equal to NULL, it

points to a siginfo_t structure containing

the reason why the signal was generated (see siginfo.h(3HEAD)); the third argument points

to a ucontext_t structure containing the

receiving process's context when the signal was delivered (see ucontext.h(3HEAD)).

SA_NOCLDWAIT If set and sig equals SIGCHLD, the system

will not create zombie processes when chil-

dren of the calling process exit. If the calling process subsequently issues a wait(3C), it blocks until all of the calling process's child processes terminate, and

then returns -1 with errno set to ECHILD.

SA_NOCLDSTOP If set and sig equals SIGCHLD, SIGCHLD will

not be sent to the calling process when its child processes stop or continue.

RETURN VALUES

Upon successful completion, 0 is returned. Otherwise, -1 is

returned, errno is set to indicate the error, and no new signal handler is installed.

ERRORS

The sigaction() function will fail if:

EINVAL The value of the sig argument is not a valid sig-

nal number or is equal to SIGKILL or SIGSTOP. In addition, if in a multithreaded process, it is equal to SIGWAITING, SIGCANCEL, or SIGLWP.

ATTRIBUTES

See attributes(5) for descriptions of the following attri-

butes:

SunOS 5.11 Last change: 23 Mar 2005 3

System Calls sigaction(2)

____________________________________________________________

| ATTRIBUTE TYPE | ATTRIBUTE VALUE |

|_____________________________|_____________________________|

| Interface Stability | Committed |

|_____________________________|_____________________________|

| MT-Level | Async-Signal-Safe |

|_____________________________|_____________________________|

| Standard | See standards(5). |

|_____________________________|_____________________________|

SEE ALSO

kill(1), Intro(2), exit(2), fcntl(2), getmsg(2), ioctl(2),

kill(2), pause(2), putmsg(2), read(2), sigaltstack(2), sig-

procmask(2), sigsend(2), sigsuspend(2), waitid(2), write(2), recv(3SOCKET), send(3SOCKET), siginfo.h(3HEAD), signal(3C), signal.h(3HEAD), sigsetops(3C), ucontext.h(3HEAD), wait(3C), attributes(5), standards(5) NOTES The handler routine can be declared:

void handler (int sig, siginfo_t *sip, ucontext_t *ucp);

The sig argument is the signal number. The sip argument is a

pointer (to space on the stack) to a siginfo_t structure,

which provides additional detail about the delivery of the signal. The ucp argument is a pointer (again to space on the

stack) to a ucontext_t structure (defined in

) which contains the context from before the signal. It is not recommended that ucp be used by the handler to restore the context from before the signal delivery.

SunOS 5.11 Last change: 23 Mar 2005 4




Contact us      |      About us      |      Term of use      |       Copyright © 2000-2019 MyWebUniversity.com ™