01-31-2003
First ,by Default , output to a terminal is line buffered and all other input/output is fully buffered.Hence I think it is not mandatory to call setvbuf ( ).
Secondly, I don't think the statement
printf ( " Finished Sleeping\n" ) was necessary cause the code will definitely print
"Called" as many times as you will send signal externally.
Thirdly If we send signals at intervals definitely the handler will be called that number of times.
I will explictly state my problem definition :
After we compiled and excuted this code , we opened up another teminal window and find out the pid of the executable. Assuming the pid to be 1234 we issued the following command at the prompt :
# kill -USR1 1234 ; kill -USR1 1234 ; kill -USR1 1234 ; kill -USR1 1234 ; kill -USR1 1234 ; kill -USR1 1234 ;kill -USR1 1234 \n
The desired output should be that the handler should be called 7 times but it was called only ONCE ???
Why ?
10 More Discussions You Might Find Interesting
1. Programming
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
2. Programming
Hi
In my process there are few threads. Now, lets say all the threads are blocked for some reason or other..
now i read it somewhere that the kernel in this situation sends in some signal which can be caught.
please let me know what signal is it and more details about that..
Thanks in... (1 Reply)
Discussion started by: uday_kumar_spl
1 Replies
3. 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
4. Programming
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
5. UNIX for Dummies Questions & Answers
can any one give me an example of a concurrency program in threads and signals, i.e how to deliver messages between threads using signals. thanks (0 Replies)
Discussion started by: moe_7
0 Replies
6. Programming
can any one give me an example of a concurrency program in threads and signals, i.e how to deliver messages between threads using signals. thanks (2 Replies)
Discussion started by: moe_7
2 Replies
7. OS X (Apple)
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 (0 Replies)
Discussion started by: Saurabh78
0 Replies
8. Programming
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
9. Programming
how can do this programs in c++
Program description:
Infinite loop in a program starts working with 2 seconds the screen (console) "I 'm trying" to write, but it automatically after 10 seconds, the screen "Close" will terminate the execution of typing.
c++ code (3 Replies)
Discussion started by: ss54
3 Replies
10. UNIX for Advanced & Expert Users
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
KILL(1) BSD General Commands Manual KILL(1)
NAME
kill -- terminate or signal a process
SYNOPSIS
kill [-s signal_name] pid ...
kill -l [exit_status]
kill -signal_name pid ...
kill -signal_number pid ...
DESCRIPTION
The kill utility sends a signal to the process(es) specified by the pid operand(s).
Only the super-user may send signals to other users' processes.
The options are as follows:
-s signal_name
A symbolic signal name specifying the signal to be sent instead of the default TERM.
-l [exit_status]
Display the name of the signal corresponding to exit_status. exit_status may be the exit status of a command killed by a signal (see
the special sh(1) parameter '?') or a signal number.
If no operand is given, display the names of all the signals.
-signal_name
A symbolic signal name specifying the signal to be sent instead of the default TERM.
-signal_number
A non-negative decimal integer, specifying the signal to be sent instead of the default TERM.
The following pids have special meanings:
-1 If superuser, broadcast the signal to all processes; otherwise broadcast to all processes belonging to the user.
0 Broadcast the signal to all processes in the current process group belonging to the user.
Some of the more commonly used signals:
1 HUP (hang up)
2 INT (interrupt)
3 QUIT (quit)
6 ABRT (abort)
9 KILL (non-catchable, non-ignorable kill)
14 ALRM (alarm clock)
15 TERM (software termination signal)
kill is a built-in to csh(1); it allows job specifiers of the form ``%...'' as arguments so process id's are not as often used as kill argu-
ments. See csh(1) for details.
SEE ALSO
csh(1), pgrep(1), pkill(1), ps(1), kill(2), sigaction(2), signal(7)
STANDARDS
The kill function is expected to be IEEE Std 1003.2 (``POSIX.2'') compatible.
HISTORY
A kill command appeared in Version 6 AT&T UNIX.
BSD
April 28, 1995 BSD