11-08-2007
1. You can't catch SIGKILL by design.
2. You should be able to catch SIGTERM -
Have you unblocked it?
You are calling exit in your signal handler
Have you considered using atexit()
In general two things leap out...
1. you should do the absolute bare minimum in a signal handler, set a flag or a few things, not fflush() or anything the allocates/frees from the heap.
2. use the posix signal handling APIs, sigaction, sigprocmask etc.
10 More Discussions You Might Find Interesting
1. Programming
Hi all,
I need some urgent help.
we are using Dynix/ptx V4.5 on i386, have several processes and instances are running on the box round the clock.we increased the processes recently.
We have coded to handle the signals in our programs.
Recently, we noticed most of our processes are... (2 Replies)
Discussion started by: reddyb
2 Replies
2. Shell Programming and Scripting
Hi Gurus,
I am executing my Datastage jobs on UNIX operating System. While running the jobs i am getting the following error:
main_program: Unexpected termination by Unix signal 9(SIGKILL)
Can any one please let me know what are the possible situations where this SIGKILL will arrise?
... (9 Replies)
Discussion started by: choppas
9 Replies
3. Solaris
Hiiii..... Every one......
I am using /etc/issue file to display Pre-login Message
on my system, installed with SOLARIS-9.
I am getting this Message in White fonts having Black
background ( Colour of the Screen).....
So, is there ... (2 Replies)
Discussion started by: prashantshukla
2 Replies
4. Shell Programming and Scripting
Hi all
Geting this error while trying to print message as :
./logfunc: print: bad file unit number
heres what i m trying to do :
log_date="$(date '+%d/%m/%Y %H:%M:%S')"
log_type="Message"
print "${log_date}: ${log_type}"
print -u3 "${log_date}: ${log_type}"
this error is due to... (3 Replies)
Discussion started by: Navatha
3 Replies
5. Shell Programming and Scripting
Hi Friends,
I am using HP-UNIX(ksh). I want to print a message at specific line on the prompt screen. For Example:
for num in 1 10 3 145
do
echo $num // need to print this on the same line for each number
sleep 2
done
Actual Output:
==========
1
10
3
145
Expected Output:... (5 Replies)
Discussion started by: Niroj
5 Replies
6. Solaris
Dear All,
I have machine with SunOS 5.10 Generic_138888-01 sun4v sparc SUNW,SPARC-Enterprise-T5120. Yesterday there is something at dmesg command :
May 25 18:09:02 cacao_launcher: Timeout occured on heartbeat channel, cleanup engaged
May 25 18:09:07 cacao_launcher: watchdog : warning,... (0 Replies)
Discussion started by: mbah_jiman
0 Replies
7. Shell Programming and Scripting
Dear All
We have JBOSS server running on Linux we need to track Graceful Shutdown(SIGTERM) and Forceful Shutdown(SIGKILL) timestamp and write it into one file, I am new to UNIX Signal processing if is it possible how to detect it?
We generally do
$kill PID For Graceful... (5 Replies)
Discussion started by: mnmonu
5 Replies
8. Shell Programming and Scripting
Which is sent to a terminal when it closes? SIGKILL? Reason I ask is I have a script I want to run in the background, but want it to run even if the terminal window is closed. Or, I'd like it to background itself if the terminal is closed but not if its running in an open window. I will learn how... (5 Replies)
Discussion started by: DC Slick
5 Replies
9. UNIX for Advanced & Expert Users
I want to connect to oracle database from solaris...
After that i will drop and create a no.of tables.One of the table example is as below.
sqlplus -s usrname/password@dbname << SQL >> $logfile 2>&1
echo " dropping the table1" | tee logfile
DROP TABLE Table1
echo "creating the table1" |... (1 Reply)
Discussion started by: millan
1 Replies
10. Shell Programming and Scripting
Hi,
I am new to shell scripting and got a task to complete.
Task is : we have a log file where in i need to traverse through the whole file to check the string "Person Type missing in message" and after that i need to get EMPLID=xxxxxx from the file and print details in a different file.
... (1 Reply)
Discussion started by: suren424
1 Replies
LEARN ABOUT CENTOS
rt_sigsuspend
SIGSUSPEND(2) Linux Programmer's Manual SIGSUSPEND(2)
NAME
sigsuspend - wait for a signal
SYNOPSIS
#include <signal.h>
int sigsuspend(const sigset_t *mask);
Feature Test Macro Requirements for glibc (see feature_test_macros(7)):
sigsuspend(): _POSIX_C_SOURCE >= 1 || _XOPEN_SOURCE || _POSIX_SOURCE
DESCRIPTION
sigsuspend() temporarily replaces the signal mask of the calling process with the mask given by mask and then suspends the process until
delivery of a signal whose action is to invoke a signal handler or to terminate a process.
If the signal terminates the process, then sigsuspend() does not return. If the signal is caught, then sigsuspend() returns after the sig-
nal handler returns, and the signal mask is restored to the state before the call to sigsuspend().
It is not possible to block SIGKILL or SIGSTOP; specifying these signals in mask, has no effect on the process's signal mask.
RETURN VALUE
sigsuspend() always returns -1, with errno set to inndicate the error (normally, EINTR).
ERRORS
EFAULT mask points to memory which is not a valid part of the process address space.
EINTR The call was interrupted by a signal.
CONFORMING TO
POSIX.1-2001.
NOTES
Normally, sigsuspend() is used in conjunction with sigprocmask(2) in order to prevent delivery of a signal during the execution of a criti-
cal code section. The caller first blocks the signals with sigprocmask(2). When the critical code has completed, the caller then waits
for the signals by calling sigsuspend() with the signal mask that was returned by sigprocmask(2) (in the oldset argument).
See sigsetops(3) for details on manipulating signal sets.
SEE ALSO
kill(2), pause(2), sigaction(2), signal(2), sigprocmask(2), sigwaitinfo(2), sigsetops(3), sigwait(3), signal(7)
COLOPHON
This page is part of release 3.53 of the Linux man-pages project. A description of the project, and information about reporting bugs, can
be found at http://www.kernel.org/doc/man-pages/.
Linux 2013-04-19 SIGSUSPEND(2)