Sponsored Content
Full Discussion: Source Output
Top Forums UNIX for Advanced & Expert Users Source Output Post 302713991 by bakunin on Thursday 11th of October 2012 01:48:41 PM
Old 10-11-2012
Quote:
Originally Posted by Don Cragun
Obviously, the commands specified by the action in a trap action EXIT command won't be executed if the shell is terminated by a SIGKILL signal since the shell can't catch a SIGKILL to invoke the actions specified by appropriate traps.
True. This notable exception i have explicitly stated (in post #4, last line). It is because of the nature of this signal, which is not directed at the process but rather at the kernel. A process terminated by SIGKILL doesn't terminate itself, but rather is terminated by the kernel.

Quote:
If the standard is interpreted as you expect, then no system conforms to the standard because the standard doesn't allow an exception for being terminated by SIGKILL.
Actually what i tried to get across was: save for SIGKILL, any other way of terminating a script (simple end, send a SIGTERM via "kill -15", press "CTRL-C", ...) will result in trap 0 (EXIT) being executed - not just using the "exit" built-in.

This is in fact as it should be because a script terminated by "kill -9" probably best leaves its temporary files for further inspection (one wouldn't terminate a script this way without some serious reason) and all other methods of ending a script are covered.

Thanks for sharing your thoughts.

bakunin
 

9 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

how to make a line BLINKING in output and also how to increase font size in output

how to make a line BLINKING in output and also how to increase font size in output suppose in run a.sh script inside echo "hello world " i want that this should blink in the output and also the font size of hello world should be big .. could you please help me out in this (3 Replies)
Discussion started by: mail2sant
3 Replies

2. Shell Programming and Scripting

write page source to standard output

I'm new to PERL, but I want to take the page source and write it to a file or standard output. I used perl.org as a test website. Here is the script: use strict; use warnings; use LWP::Simple; getprint('http://www.perl.org') or die 'Unable to get page'; exit 0; ... (1 Reply)
Discussion started by: wxornot
1 Replies

3. UNIX for Dummies Questions & Answers

Read rows from source file and concatenate output

Hi guys; TBH I am an absolute novice, when it comes to scripting; I do have an idea of the basic commands... Here is my problem; I have a flatfile 'A' containing a single column with multiple rows. I have to create a script which will use 'A' as input and then output a string in in the... (0 Replies)
Discussion started by: carlos_anubis
0 Replies

4. Shell Programming and Scripting

Awk script to run a sql and print the output to an output file

Hi All, I have around 900 Select Sql's which I would like to run in an awk script and print the output of those sql's in an txt file. Can you anyone pls let me know how do I do it and execute the awk script? Thanks. (4 Replies)
Discussion started by: adept
4 Replies

5. Shell Programming and Scripting

Redirect output to a different text file depending source of data

I have a list of DNS servers I need to look up information on. Each of these servers has a master and a slave database. Essentially what I need to do is create two text files for each server. One with the Master view and one with the Slave view. There's 20 servers, in the end I should have 40 text... (4 Replies)
Discussion started by: spartan22
4 Replies

6. Shell Programming and Scripting

script to mail monitoring output if required or redirect output to log file

Below script perfectly works, giving below mail output. BUT, I want to make the script mail only if there are any D-Defined/T-Transition/B-Broken State WPARs and also to copy the output generated during monitoring to a temporary log file, which gets cleaned up every week. Need suggestions. ... (4 Replies)
Discussion started by: aix_admin_007
4 Replies

7. Shell Programming and Scripting

Displaying log file pattern output in tabular form output

Hi All, I have result log file which looks like this (below): from the content need to consolidate the result and put it in tabular form 1). Intercomponents Checking Passed: All Server are passed. ====================================================================== 2). OS version Checking... (9 Replies)
Discussion started by: Optimus81
9 Replies

8. Red Hat

Command understanding the output file destination in case of standard output!!!!!

I ran the following command. cat abc.c > abc.c I got message the following message from command cat: cat: abc.c : input file is same as the output file How the command came to know of the destination file name as the command is sending output to standard file. (3 Replies)
Discussion started by: ravisingh
3 Replies

9. Shell Programming and Scripting

Add source file name to file output

OS: Linux kernel ver: 2.6x shell: Korn(ksh) hi. We are required to read contents for mutliple GZIP(.gz) files and perform some custom sanity checks downstream, example of such a check can a validation for the length of each record. We should accepts records which are 320 chars long and... (1 Reply)
Discussion started by: kumarjt
1 Replies
kill(1) 						      General Commands Manual							   kill(1)

NAME
kill - Sends a signal to a running process SYNOPSIS
kill -l [exit_status] kill [-signal_name | signal_number] process_ID... kill -s signal_name process_ID... Note The C shell has a built-in version of the kill command. If you are using the C shell, and want to guarantee that you are using the command described here, you must specify the full path /usr/bin/kill. See the csh(1) reference page for a description of the built-in command. STANDARDS
Interfaces documented on this reference page conform to industry standards as follows: kill: XCU5.0 Refer to the standards(5) reference page for more information about industry standards and associated tags. OPTIONS
The kill command supports the following options: Lists signal names. If you specify an exit status (a numeric value) or the shell special parameter $?, which expands to the exit status of the most recent pipeline, kill prints the name of the terminating signal. Specifies the signal to send, using one of the symbolic names defined for required signals or job control signals. Values of signal_name are recognized in both uppercase or lowercase letters, and without the SIG prefix. The symbolic name 0 (zero), which represents the value 0 (zero), is also recognized. The corresponding signal is sent instead of SIGTERM. Specifies the signal to send to the process. You can specify either a name, stripped of the SIG prefix (such as KILL), or a number (such as 9). For information about signal names and numbers, see the sigaction() system call. OPERANDS
A process identification number [Tru64 UNIX] There are several special process identification numbers (PIDs) that you can specify to cause the following special actions: The signal is sent to all processes having a process group ID equal to the process group ID of the sender, except those with a process ID of 0 (zero) and the process ID of the init process. If the effective user ID of the sender is not 0 (root), the signal is sent to all processes with a process group ID equal to the effective user ID of the sender, except those with a process ID of 0 (zero) and the process ID of the init process. If the effective user ID of the sender is 0 (root), the signal is sent to all processes, except the process ID of 0 (zero) and the process ID of the init process. The signal is sent to all processes whose process group number is equal to the absolute value of PID. Note that when you specify any negative PID, you must also specify the signal to be sent, even the default signal SIGTERM. A decimal integer specifying a signal number or the exit status of a process terminated by a signal. DESCRIPTION
The kill command sends a signal to one or more running processes. The default is the SIGTERM signal (signal number 15), which usually ter- minates processes that do not ignore or catch the signal. You identify the process to be signaled by specifying its process identification number (also known as the process ID or PID). The shell displays the PID of each process that is running in the background or, if you start more than one process in a pipeline, the shell displays the number of the last process. You can also use the ps command to display PIDs. [Tru64 UNIX] The name of the kill command is misleading because many signals, including SIGUSR1, do not terminate processes. [Tru64 UNIX] Unless you are operating with superuser privileges, the process you wish to signal must belong to you. When operating with superuser authority, you can signal any process. [Tru64 UNIX] See the kill() system call for a complete discussion of kill. Note that the csh command contains a built-in subcommand named kill, but the command and subcommand do not necessarily work in the same way. For information on the subcommand, see csh. NOTES
Some applications and scripts depend on the process ID of the init program being 1 (one): do not depend on it. Instead, use standard methods, such as the ps and grep commands, to obtain all process IDs. EXIT STATUS
The following exit values are returned: At least one matching process was found, and the specified signal was successfully processed for at least one matching process. An error occurred. EXAMPLES
The following command terminates the process with the specified PID: kill 1095 This command terminates process 1095 by sending it the default SIGTERM signal. Note that process 1095 might not actually terminate if it has made special arrangements to ignore or catch the SIGTERM signal. The following command terminates several processes that ignore the default signal: kill -KILL 17285 15692 This command sends SIGKILL to processes 17285 and 15692. The SIGKILL signal usually cannot be ignored or caught. The following com- mand terminates all of your background processes: kill 0 This command sends the SIGTERM signal to all members of the shell process group. This includes all background processes started with &. Although the signal is sent to the shell, it has no effect because the shell ignores the default signal 15. The following com- mand terminates all of your processes and logs you out: kill -KILL 0 This command sends SIGKILL to all members of the shell process group. Because the shell cannot ignore SIGKILL, this also terminates the login shell and logs you out. If you are using multiple windows, this closes the active window. The following command terminate all the processes that you own: kill -KILL -1 This command sends SIGKILL to all the processes that you own, even those that belong to other process groups. If you are using mul- tiple windows, this command closes all the windows. The following command sends a specific signal to a specific process: kill -USR1 1103 This command sends the SIGUSR1 signal to process 1103. The action taken on the SIGUSR1 signal is defined by the particular applica- tion you are running. The following command lists the signal names in numerical order, stripped of the SIG prefix: kill -l 1) HUP 13) PIPE 25) XFSZ 37) RTMIN+4 2) INT 14) ALRM 26) VTALRM 38) RTMIN+5 3) QUIT 15) TERM 27) PROF 39) RTMIN+6 4) ILL 16) URG 28) WINCH 40) RTMIN+7 5) TRAP 17) STOP 29) PWR 41) RTMAX-7 6) LOST 18) TSTP 30) USR1 42) RTMAX-6 7) EMT 19) CONT 31) USR2 43) RTMAX-5 8) FPE 20) CHLD 32) RESV 44) RTMAX-4 9) KILL 21) TTIN 33) RTMIN 45) RTMAX-3 10) BUS 22) TTOU 34) RTMIN+1 46) RTMAX-2 11) SEGV 23) POLL 35) RTMIN+2 47) RTMAX-1 12) SYS 24) XCPU 36) RTMIN+3 48) RTMAX The command output can vary from system to system. ENVIRONMENT VARIABLES
The following environment variables affect the execution of kill: Provides a default value for the internationalization variables that are unset or null. If LANG is unset or null, the corresponding value from the default locale is used. If any of the internationalization vari- ables contain an invalid setting, the utility behaves as if none of the variables had been defined. If set to a non-empty string value, overrides the values of all the other internationalization variables. Determines the locale for the interpretation of sequences of bytes of text data as characters (for example, single-byte as opposed to multibyte characters in arguments). Determines the locale for the for- mat and contents of diagnostic messages written to standard error. Determines the location of message catalogues for the processing of LC_MESSAGES. FILES
Specifies signal names. SEE ALSO
Commands: csh(1), killall(8), ksh(1), ps(1), Bourne shell sh(1b), POSIX shell sh(1p) Functions: kill(2), sigaction(2) Standards: standards(5) kill(1)
All times are GMT -4. The time now is 04:53 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy