05-21-2011
thank you~
I find some answers that the Signal is a technical which is equal to soft interruption.
And a signal can only tell a process what happened,but it can't send data buffers to other process.
Are all these understanding right?
But I just see the signal used to tell the process itself what happened not another process.
10 More Discussions You Might Find Interesting
1. UNIX for Dummies Questions & Answers
hi, is there any command where we can monitor semaphores? (1 Reply)
Discussion started by: yls177
1 Replies
2. UNIX for Dummies Questions & Answers
Hi,
I'm new to UNIX.
I need to know what's a semaphore
Do reply.
Thanks
VJ (3 Replies)
Discussion started by: vjsony
3 Replies
3. Shell Programming and Scripting
can any one tell me how to run a semaphore. i understand roughly how they work code wise, but i'm not sure how to make use of them. i have two client programs in csh that perform tasks on a server file (flat file) how the i get the semaphore to lock the file when one has accessed it and how to use... (5 Replies)
Discussion started by: FDavid
5 Replies
4. Shell Programming and Scripting
Hi,
I am looking to use a semaphore for the first time in one of my scripts. I am just wondering if there are any simple examples or tutorials around?
I am a beginner so the simpler the better :)
Thanks
-Jaken (2 Replies)
Discussion started by: Jaken
2 Replies
5. UNIX for Dummies Questions & Answers
what is semaphore? can any body explain it in a more simple way than the manual ??
replies appreciated
Regards
raguram R (7 Replies)
Discussion started by: raguramtgr
7 Replies
6. Programming
In my server code there is a thread per client...
The server call accept() and after that start the thread.
So there is a thread for client that save in RAM the client's message, that will be send to other clients.
Now in RAM I have created a shared memory in which thread read and write(save)... (2 Replies)
Discussion started by: italian_boy
2 Replies
7. Shell Programming and Scripting
Control two exclusively shared resources(semaphore). The two resources are two files. The producer will write even numbers to one file, and odd numbers to another one. The consumer respectively reads from each file until it gets 5 even numbers and 5 odd numbers.
Can any one help me with the... (0 Replies)
Discussion started by: gokult
0 Replies
8. Programming
If I create a semaphore and then I fork a number of child processes then all the child process use that same semaphore.
Since the process address spaces are different rfom each other then how all the child process are able to access the same semaphore?
I understand that semaphore/mutex is at os... (0 Replies)
Discussion started by: rupeshkp728
0 Replies
9. Solaris
Can anyone tell me abt the Semaphore concept and what is semaphore???
is semaphore id is associated in terms as in resources like semaphore id 1 indicates cpu share unit is given and semaphore id 2 will indicate abt the memore or semaphore id 3 will tell us the i/o components (1 Reply)
Discussion started by: aarjun07
1 Replies
10. UNIX for Beginners Questions & Answers
I was asked to add this piece of code to a c program which I will execute through the shell:
for(long i = 0; i < NITER; i++)
{ sem_wait( &sema);
count++;
sem_post( &sema); }
I didn't get it, which is the critical section ? if it's "count++" how would a thread wake up in order to enter it... (1 Reply)
Discussion started by: uniran
1 Replies
KILL(2) Linux Programmer's Manual KILL(2)
NAME
kill - send signal to a process
SYNOPSIS
#include <sys/types.h>
#include <signal.h>
int kill(pid_t pid, int sig);
DESCRIPTION
The kill system call can be used to send any signal to any process group or process.
If pid is positive, then signal sig is sent to pid.
If pid equals 0, then sig is sent to every process in the process group of the current process.
If pid equals -1, then sig is sent to every process except for process 1 (init), but see below.
If pid is less than -1, then sig is sent to every process in the process group -pid.
If sig is 0, then no signal is sent, but error checking is still performed.
RETURN VALUE
On success, zero is returned. On error, -1 is returned, and errno is set appropriately.
ERRORS
EINVAL An invalid signal was specified.
ESRCH The pid or process group does not exist. Note that an existing process might be a zombie, a process which already committed termi-
nation, but has not yet been wait()ed for.
EPERM The process does not have permission to send the signal to any of the receiving processes. For a process to have permission to send
a signal to process pid it must either have root privileges, or the real or effective user ID of the sending process must equal the
real or saved set-user-ID of the receiving process. In the case of SIGCONT it suffices when the sending and receiving processes
belong to the same session.
NOTES
It is impossible to send a signal to task number one, the init process, for which it has not installed a signal handler. This is done to
assure the system is not brought down accidentally.
POSIX 1003.1-2001 requires that kill(-1,sig) send sig to all processes that the current process may send signals to, except possibly for
some implementation-defined system processes. Linux allows a process to signal itself, but on Linux the call kill(-1,sig) does not signal
the current process.
LINUX HISTORY
Across different kernel versions, Linux has enforced different rules for the permissions required for an unprivileged process to send a
signal to another process. In kernels 1.0 to 1.2.2, a signal could be sent if the effective user ID of the sender matched that of the
receiver, or the real user ID of the sender matched that of the receiver. From kernel 1.2.3 until 1.3.77, a signal could be sent if the
effective user ID of the sender matched either the real or effective user ID of the receiver. The current rules, which conform to POSIX
1003.1-2001, were adopted in kernel 1.3.78.
CONFORMING TO
SVr4, SVID, POSIX.1, X/OPEN, BSD 4.3, POSIX 1003.1-2001
SEE ALSO
_exit(2), exit(3), signal(2), signal(7)
Linux 2.5.0 2001-12-18 KILL(2)