Visit Our UNIX and Linux User Community

How to debug signals

Thread Tools Search this Thread
Operating Systems OS X (Apple) How to debug signals
# 1  
Old 04-21-2009
How to debug signals

In our program, we are using SIGTERM and i tired to put break point in this function. But my debuger is unable to brake at that point.
I am working on Mac X and using XCode.


Previous Thread | Next Thread
Test Your Knowledge in Computers #221
Difficulty: Easy
Apple's OS X (macOS) installed base had grown to 80 million users as reported at the WWDC 2014.
True or False?

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Help with trap and signals

I am having issues with trap not working inside a script. I am currently trying this on a Knoppix system V 5.1. What I would like to happen is when I press control c, a message gets echoed and the script is ended. For example: #! /bin/bash trap "echo CTRL c was pressed ; break" SIGINT... (11 Replies)
Discussion started by: Basherrr
11 Replies

2. UNIX for Advanced & Expert Users

Help with Signals

Hi All, The problem statement is as below: Problem: A process (exe) is getting executed in background. The output of this process is getting logged in a file. After successfully running for some time the process gets terminated. In the log file following is present: ^M[7m Interrupt ^M[27m... (8 Replies)
Discussion started by: Praty.27
8 Replies

3. UNIX for Dummies Questions & Answers

pending signals

I was wondering about following. If I have set of 3 signals. And they are all blocked.Now at some point in the program the set is unblocked. Which signal will be delivered first.This is my set....SIGTSTP,SIGQUIT,SIGINT.When I added them in the set and unblock them I did it in following order... ... (1 Reply)
Discussion started by: joker40
1 Replies

4. UNIX for Dummies Questions & Answers

Blocking signals

I know how to add signal to a set. But what if I want to add 2 or 3 signals to the set. I know I can use sigaddset (&set,SIGBUS)....but what if I want to add SIGBUS and SIGALRM at once. Do i have to do it like this.. sigaddset (&set,SIGBUS); sigaddset (&set,SIGALRM); Is there another way to... (0 Replies)
Discussion started by: joker40
0 Replies

5. UNIX for Dummies Questions & Answers

perror with signals

I have following problem with this code.. First time trough the main loop..... perror gives ....blocked signal:success(all other times gives illlegal seek) Should every time trought the main loop be success?? And the perror otside of main loop...didn't change mask:success That line of code... (2 Replies)
Discussion started by: joker40
2 Replies

6. UNIX for Dummies Questions & Answers

Help understanding signals

I am having trouble with folowing sigset_t s; // now s represents set of signals sigemptyset(&s) ; // initialize this set and exclude all the signals from it empty? sigaddset(&s,SIGILL);//this set containts only SIGILL signal sigprocmask(SIG_BLOCK,&s,NULL);//lost on this one Can... (3 Replies)
Discussion started by: joker40
3 Replies

7. Programming

Can we debug Signals

Hi, In our program, we are using SIGTERM and i tired to put break point in this function. But my debuger is unable to brake at that point. I am working on Mac X and using XCode. Thanks (1 Reply)
Discussion started by: Saurabh78
1 Replies

8. Programming

Using Signals

How can use signals in a C program If i want a child program to signal it's parent program that it(child) program has completed the task that it was assigned.:confused: (2 Replies)
Discussion started by: kapilv
2 Replies

9. UNIX for Dummies Questions & Answers


(posted this in the scripting forum as well, but figured it should go here) So, what's going on is this: For our program, we had to create our own shell, and if the user pressed ctrl-c just at the cmdline, then this signal would be ignored, but if there is a foreground process running, let's... (0 Replies)
Discussion started by: blind melon
0 Replies

10. Programming

Signals In HP-UX

does the way of handling, interrupting signals in HP-UX same as that of solaris. If there is difference than what it is.?:confused: (1 Reply)
Discussion started by: kapilv
1 Replies
PCNTL_SIGNAL(3) 							 1							   PCNTL_SIGNAL(3)

pcntl_signal - Installs a signal handler

bool pcntl_signal (int $signo, callable|int $handler, [bool $restart_syscalls = true]) DESCRIPTION
The pcntl_signal(3) function installs a new signal handler or replaces the current signal handler for the signal indicated by $signo. PARAMETERS
o $signo - The signal number. o $handler - The signal handler. This may be either a callable, which will be invoked to handle the signal, or either of the two global con- stants SIG_IGN or SIG_DFL, which will ignore the signal or restore the default signal handler respectively. If a callable is given, it must implement the following signature: void handler (int $signo) o $signo - The signal being handled. Note Note that when you set a handler to an object method, that object's reference count is increased which makes it persist until you either change the handler to something else, or your script ends. o $restart_syscalls - Specifies whether system call restarting should be used when this signal arrives. RETURN VALUES
Returns TRUE on success or FALSE on failure. CHANGELOG
+--------+---------------------------------------------------+ |Version | | | | | | | Description | | | | +--------+---------------------------------------------------+ | 4.3.0 | | | | | | | As of PHP 4.3.0 PCNTL uses ticks as the signal | | | handle callback mechanism, which is much faster | | | than the previous mechanism. This change follows | | | the same semantics as using "user ticks". You | | | must use the declare() statement to specify the | | | locations in your program where callbacks are | | | allowed to occur for the signal handler to func- | | | tion properly (as used in the example below). | | | | +--------+---------------------------------------------------+ EXAMPLES
Example #1 pcntl_signal(3) example <?php // tick use required as of PHP 4.3.0 declare(ticks = 1); // signal handler function function sig_handler($signo) { switch ($signo) { case SIGTERM: // handle shutdown tasks exit; break; case SIGHUP: // handle restart tasks break; case SIGUSR1: echo "Caught SIGUSR1... "; break; default: // handle all other signals } } echo "Installing signal handler... "; // setup signal handlers pcntl_signal(SIGTERM, "sig_handler"); pcntl_signal(SIGHUP, "sig_handler"); pcntl_signal(SIGUSR1, "sig_handler"); // or use an object, available as of PHP 4.3.0 // pcntl_signal(SIGUSR1, array($obj, "do_something")); echo"Generating signal SIGUSR1 to self... "; // send SIGUSR1 to current process id // posix_* functions require the posix extension posix_kill(posix_getpid(), SIGUSR1); echo "Done "; ?> NOTES
pcntl_signal(3) doesn't stack the signal handlers, but replaces them. SEE ALSO
pcntl_fork(3), pcntl_waitpid(3). PHP Documentation Group PCNTL_SIGNAL(3)

Featured Tech Videos