diff options
Diffstat (limited to 'builtins/kill.def')
-rw-r--r-- | builtins/kill.def | 53 |
1 files changed, 33 insertions, 20 deletions
diff --git a/builtins/kill.def b/builtins/kill.def index bedbb1a..18c3667 100644 --- a/builtins/kill.def +++ b/builtins/kill.def @@ -1,36 +1,46 @@ This file is kill.def, from which is created kill.c. It implements the builtin "kill" in Bash. -Copyright (C) 1987-2005 Free Software Foundation, Inc. +Copyright (C) 1987-2009 Free Software Foundation, Inc. This file is part of GNU Bash, the Bourne Again SHell. -Bash is free software; you can redistribute it and/or modify it under -the terms of the GNU General Public License as published by the Free -Software Foundation; either version 2, or (at your option) any later -version. +Bash is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version. -Bash is distributed in the hope that it will be useful, but WITHOUT ANY -WARRANTY; without even the implied warranty of MERCHANTABILITY or -FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -for more details. +Bash is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. -You should have received a copy of the GNU General Public License along -with Bash; see the file COPYING. If not, write to the Free Software -Foundation, 59 Temple Place, Suite 330, Boston, MA 02111 USA. +You should have received a copy of the GNU General Public License +along with Bash. If not, see <http://www.gnu.org/licenses/>. $PRODUCES kill.c $BUILTIN kill $FUNCTION kill_builtin $SHORT_DOC kill [-s sigspec | -n signum | -sigspec] pid | jobspec ... or kill -l [sigspec] -Send the processes named by PID (or JOBSPEC) the signal SIGSPEC. If -SIGSPEC is not present, then SIGTERM is assumed. An argument of `-l' -lists the signal names; if arguments follow `-l' they are assumed to -be signal numbers for which names should be listed. Kill is a shell -builtin for two reasons: it allows job IDs to be used instead of -process IDs, and, if you have reached the limit on processes that -you can create, you don't have to start a process to kill another one. +Send a signal to a job. + +Send the processes identified by PID or JOBSPEC the signal named by +SIGSPEC or SIGNUM. If neither SIGSPEC nor SIGNUM is present, then +SIGTERM is assumed. + +Options: + -s sig SIG is a signal name + -n sig SIG is a signal number + -l list the signal names; if arguments follow `-l' they are + assumed to be signal numbers for which names should be listed + +Kill is a shell builtin for two reasons: it allows job IDs to be used +instead of process IDs, and allows processes to be killed if the limit +on processes that you can create is reached. + +Exit Status: +Returns success unless an invalid option is given or an error occurs. $END #include <config.h> @@ -111,6 +121,9 @@ kill_builtin (list) else sig = decode_signal (sigspec, dflags); list = list->next; +#if 0 + saw_signal++; /* XXX - for bash-4.2 */ +#endif } else { @@ -131,7 +144,7 @@ kill_builtin (list) /* If this is a signal specification then process it. We only process the first one seen; other arguments may signify process groups (e.g, -num == process group num). */ - else if ((*word == '-') && !saw_signal) + else if (*word == '-' && saw_signal == 0) { sigspec = word + 1; sig = decode_signal (sigspec, dflags); |