Add psignal(9).
Obtained from: NetBSD
This commit is contained in:
parent
2056e1e95d
commit
2188432c4a
@ -1,8 +1,9 @@
|
||||
# $FreeBSD$
|
||||
|
||||
MAN9= at_shutdown.9 at_fork.9 at_exit.9 cd.9 copy.9 devfs_add_devswf.9 \
|
||||
devfs_link.9 fetch.9 ifnet.9 intro.9 panic.9 rtalloc.9 rtentry.9 \
|
||||
scsiconf.9 sd.9 sleep.9 spl.9 st.9 store.9 style.9 timeout.9 uio.9
|
||||
devfs_link.9 fetch.9 ifnet.9 intro.9 panic.9 psignal.9 rtalloc.9 \
|
||||
rtentry.9 scsiconf.9 sd.9 sleep.9 spl.9 st.9 store.9 style.9 \
|
||||
timeout.9 uio.9
|
||||
|
||||
MLINKS+= copy.9 copyin.9 copy.9 copyout.9 copy.9 copystr.9 copy.9 copyinstr.9
|
||||
MLINKS+= fetch.9 fubyte.9 fetch.9 fusword.9 fetch.9 fuswintr.9 fetch.9 fuword.9
|
||||
@ -10,6 +11,7 @@ MLINKS+= at_shutdown.9 rm_at_shutdown.9
|
||||
MLINKS+= at_exit.9 rm_at_exit.9
|
||||
MLINKS+= at_fork.9 rm_at_fork.9
|
||||
MLINKS+= ifnet.9 ifaddr.9 ifnet.9 ifqueue.9 ifnet.9 if_data.9
|
||||
MLINKS+= psignal.9 pgsignal.9 psignal.9 gsignal.9
|
||||
MLINKS+= rtalloc.9 rtalloc_ign.9 rtalloc.9 rtalloc1.9
|
||||
MLINKS+= sleep.9 tsleep.9 sleep.9 wakeup.9
|
||||
MLINKS+= spl.9 splbio.9 spl.9 splclock.9 spl.9 splhigh.9 spl.9 splimp.9
|
||||
|
138
share/man/man9/psignal.9
Normal file
138
share/man/man9/psignal.9
Normal file
@ -0,0 +1,138 @@
|
||||
.\" $NetBSD: psignal.9,v 1.1 1996/06/22 22:57:35 pk Exp $
|
||||
.\"
|
||||
.\" Copyright (c) 1996 The NetBSD Foundation, Inc.
|
||||
.\" All rights reserved.
|
||||
.\"
|
||||
.\" This code is derived from software contributed to The NetBSD Foundation
|
||||
.\" by Paul Kranenburg.
|
||||
.\"
|
||||
.\" Redistribution and use in source and binary forms, with or without
|
||||
.\" modification, are permitted provided that the following conditions
|
||||
.\" are met:
|
||||
.\" 1. Redistributions of source code must retain the above copyright
|
||||
.\" notice, this list of conditions and the following disclaimer.
|
||||
.\" 2. Redistributions in binary form must reproduce the above copyright
|
||||
.\" notice, this list of conditions and the following disclaimer in the
|
||||
.\" documentation and/or other materials provided with the distribution.
|
||||
.\" 3. All advertising materials mentioning features or use of this software
|
||||
.\" must display the following acknowledgement:
|
||||
.\" This product includes software developed by the NetBSD
|
||||
.\" Foundation, Inc. and its contributors.
|
||||
.\" 4. Neither the name of The NetBSD Foundation nor the names of its
|
||||
.\" contributors may be used to endorse or promote products derived
|
||||
.\" from this software without specific prior written permission.
|
||||
.\"
|
||||
.\" THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
|
||||
.\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
|
||||
.\" TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
||||
.\" PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE
|
||||
.\" LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
.\" POSSIBILITY OF SUCH DAMAGE.
|
||||
.\"
|
||||
.Dd June 22, 1996
|
||||
.Dt PSIGNAL 9
|
||||
.Os
|
||||
.Sh NAME
|
||||
.Nm psignal ,
|
||||
.Nm pgsignal ,
|
||||
.Nm gsignal
|
||||
.Nd post signal to a process or process group
|
||||
.Sh SYNOPSIS
|
||||
.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"
|
||||
.Sh DESCRIPTION
|
||||
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 .
|
||||
.Pp
|
||||
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.
|
||||
.Pp
|
||||
The target process is not marked as runnable in the following cases:
|
||||
.Bl -bullet -offset indent
|
||||
.It
|
||||
The target process is sleeping uninterruptibly. The signal will be
|
||||
noticed when the process returns from the system call or trap.
|
||||
.It
|
||||
The target process is currently ignoring the signal.
|
||||
.It
|
||||
If a stop signal is sent to a sleeping process that takes the
|
||||
default action
|
||||
.Pq see Xr sigaction 2 ,
|
||||
the process is stopped without awakening it.
|
||||
.It
|
||||
.Dv SIGCONT
|
||||
restarts a stopped process
|
||||
.Pq or puts them back to sleep
|
||||
regardless of the signal action
|
||||
.Pq e.g., blocked or ignored .
|
||||
.El
|
||||
.Pp
|
||||
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.
|
||||
.Pp
|
||||
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
|
||||
.Li pg_members
|
||||
of the process group structure
|
||||
pointed at by
|
||||
.Fa pgrp
|
||||
and calling
|
||||
.Fn psignal
|
||||
as appropriate. If
|
||||
.Fa pgrp
|
||||
is
|
||||
.Dv NULL
|
||||
no action is taken.
|
||||
.Pp
|
||||
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.
|
||||
.Sh SEE ALSO
|
||||
.Xr sigaction 2 ,
|
||||
.Xr tsleep 9
|
Loading…
Reference in New Issue
Block a user