Langue: en

Version: 308458 (debian - 07/07/09)

Section: 9 (Appels noyau Linux)

BSD mandoc


psignal pgsignal gsignal - post signal to a process or process group


In sys/types.h In sys/signalvar.h Ft void Fn psignal struct proc *p int signum Ft void Fn pgsignal struct pgrp *pgrp int signum int checkctty Ft void Fn gsignal int pgid int signum


These functions post a signal to one or more processes. The argument Fa signum common to all three functions should be in the range Bq 1- Ns Dv NSIG .

The Fn psignal function posts signal number Fa signum to the process represented by the process structure Fa p . With a few exceptions noted below, the target process signal disposition is updated and is marked as runnable, so further handling of the signal is done in the context of the target process after a context switch. Note that Fn psignal does not by itself cause a context switch to happen.

The target process is not marked as runnable in the following cases:

If the target process is being traced Fn psignal behaves as if the target process were taking the default action for Fa signum . This allows the tracing process to be notified of the signal.

The Fn pgsignal function posts signal number Fa signum to each member of the process group described by Fa pgrp . If Fa checkctty is non-zero, the signal will be posted only to processes that have a controlling terminal. Fn pgsignal is implemented by walking along the process list headed by the field pg_members of the process group structure pointed at by Fa pgrp and calling Fn psignal as appropriate. If Fa pgrp is NULL no action is taken.

The Fn gsignal function posts signal number Fa signum to each member of the process group identified by the group id Fa pgid . Fn gsignal first finds the group structure associated with Fa pgid , then invokes Fn pgsignal with the argument Fa checkctty set to zero. If Fa pgid is zero no action is taken.


sigaction(2), signal(9), tsleep(9)