09-22-2007
how to trap unix signal if the process killed/interupt occured in bash...
hey champs,
I have a process running.......i have to catch/trap the signal when the process is being interupted/killed (kill -9 pid) option......
how can i achieve the same thru my process........
let my process is a.sh and it supposed to take 13 mins to complete, but due to some problem , somebody killed that process a.sh using kill -9 <pid of a.sh>, so i want to log the message that process a.sh is killed ....
how can i achieve...
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
Does anyone know how to program signals in fmli?
My fmli script goes in loop when the telnet session is closed. When I start the script from the prompt the issue do not happen. But when it is started by the login process it hags. That's why I want to program the SIGHUP to exit/finish the script.... (0 Replies)
Discussion started by: Marcos Brito
0 Replies
2. Shell Programming and Scripting
hi ,
What is the trap signal for "ENTER key"? (4 Replies)
Discussion started by: Sreejith_VK
4 Replies
3. UNIX for Dummies Questions & Answers
hi all ,
I want to execute a script on the user logout(using gnome environment).
Is ther any way to execute it through TRAP stmt? (2 Replies)
Discussion started by: harsha10
2 Replies
4. Shell Programming and Scripting
Hi all
I have Master script, Main script ,and 4 Child script.
Master.sh
#!/bin/bash
/export/home/user/Main.shMain.sh
#!/bin/bash
/export/home/user/Child1.sh &
/export/home/user/Child2.sh &
/export/home/user/Child3.sh &
/export/home/user/Child4.sh &I run only Master.sh script... (1 Reply)
Discussion started by: almanto
1 Replies
5. Shell Programming and Scripting
I just want to trap kill -9 signal issued by any of user from any terminal and just capture that user terminal who had raised this kill -9 command (1 Reply)
Discussion started by: puneet.goel
1 Replies
6. Shell Programming and Scripting
In my Bash script I have an exit/cleanup function in a trap statement like:
trap exitCleanup 1 2 3 6 15 25
Is there anyway to capture which signal # has occurred to record in a log file. Please note I am trying to avoid something like:
trap 'mySignal=1; exitCleanup' 1
trap... (1 Reply)
Discussion started by: ckmehta
1 Replies
7. Shell Programming and Scripting
Hi ,
i have a scenario where...i have to put a check where if script is executing more than 15mins i have to kill that script and n retry again 2nd time.
i this case i can use background process to do it but i feel trap will be the efficent way to do so...
but i dont know much about it... (1 Reply)
Discussion started by: crackthehit007
1 Replies
8. Linux
hey,
i have been facing a very fatel error with dovecot..
i am getting this error in my dovecot.log file
dovecot: Feb 13 15:21:02 Fatal: chdir(/var/mail/folders/user1) failed with uid 1001: Permission denied
dovecot: Feb 13 15:21:02 Error: child 18732 (imap) returned error 89
dovecot: Feb... (3 Replies)
Discussion started by: htshshrm2
3 Replies
9. Shell Programming and Scripting
Hi, I would like to ask, if is it possible to quit running loop in the script any other way than catching the trap signal. Ctrl-C ends only current running instance of process but not whole script. Any clues? (3 Replies)
Discussion started by: smoofy
3 Replies
10. Shell Programming and Scripting
Hi,
i have 2 machines in ESXI6 that both made a restart at the same time but no errors from ESXI side.
one machine with Centos 6.6 and one with centos 7
same log at the Dmesg:
please help me find a lead what could made this ?
Mar 17 20:20:28 pbxnl-b-sales-ru-ua init: tty (/dev/tty1) main... (2 Replies)
Discussion started by: batchenr
2 Replies
KILL(1) User Commands KILL(1)
NAME
kill - terminate a process
SYNOPSIS
kill [-s signal|-p] [-q sigval] [-a] [--] pid...
kill -l [signal]
DESCRIPTION
The command kill sends the specified signal to the specified process or process group. If no signal is specified, the TERM signal is sent.
The TERM signal will kill processes which do not catch this signal. For other processes, it may be necessary to use the KILL (9) signal,
since this signal cannot be caught.
Most modern shells have a builtin kill function, with a usage rather similar to that of the command described here. The '-a' and '-p'
options, and the possibility to specify processes by command name are a local extension.
If sig is 0, then no signal is sent, but error checking is still performed.
OPTIONS
pid... Specify the list of processes that kill should signal. Each pid can be one of five things:
n where n is larger than 0. The process with pid n will be signaled.
0 All processes in the current process group are signaled.
-1 All processes with pid larger than 1 will be signaled.
-n where n is larger than 1. All processes in process group n are signaled. When an argument of the form '-n' is given, and it
is meant to denote a process group, either the signal must be specified first, or the argument must be preceded by a '--'
option, otherwise it will be taken as the signal to send.
commandname
All processes invoked using that name will be signaled.
-s, --signal signal
Specify the signal to send. The signal may be given as a signal name or number.
-l, --list [signal]
Print a list of signal names, or convert signal given as argument to a name. The signals are found in /usr/include/linux/signal.h
-L, --table
Similar to -l, but will print signal names and their corresponding numbers.
-a, --all
Do not restrict the commandname-to-pid conversion to processes with the same uid as the present process.
-p, --pid
Specify that kill should only print the process id (pid) of the named processes, and not send any signals.
-q, --queue sigval
Use sigqueue(2) rather than kill(2) and the sigval argument is used to specify an integer to be sent with the signal. If the
receiving process has installed a handler for this signal using the SA_SIGINFO flag to sigaction(2), then it can obtain this data
via the si_value field of the siginfo_t structure.
NOTES
It is not possible to send a signal to explicitly selected thread in a multithreaded process by kill(2) syscall. If kill(2) is used to
send a signal to a thread group, then kernel selects arbitrary member of the thread group that has not blocked the signal. For more
details see clone(2) CLONE_THREAD description.
The command kill(1) as well as syscall kill(2) accepts TID (thread ID, see gettid(2)) as argument. In this case the kill behavior is not
changed and the signal is also delivered to the thread group rather than to the specified thread.
SEE ALSO
bash(1), tcsh(1), kill(2), sigvec(2), signal(7)
AUTHOR
Taken from BSD 4.4. The ability to translate process names to process ids was added by Salvatore Valente <svalente@mit.edu>.
AVAILABILITY
The kill command is part of the util-linux package and is available from Linux Kernel Archive <ftp://ftp.kernel.org/pub/linux/utils/util-
linux/>.
util-linux March 2013 KILL(1)