01-29-2009
Determining which processes hold a semaphore
I have a situation where I have created a semaphore and set it's value to 10. I am using this semaphore to control access to a shared memory location. I can have 10 processes simultaneously read from the shared memory location, process 11 would get locked out. My question is, is there a way I can find out which processes have currently called semop and have obtained the semaphore, and if so what was the value the decremented the semvalue by? I would like to know this so if a process already has obtained the semaphore I can block them from calling semop again and using a 2nd.
10 More Discussions You Might Find Interesting
1. UNIX for Advanced & Expert Users
Our Baan application has a server process bflusher which is activated automaticaly by another server process bmanager . These processes uses shared memory to carry out it's operations .
Through a baan application query command (tbase6.1 P d 3 ) , i can find the number of users (user process... (1 Reply)
Discussion started by: Hitesh Shah
1 Replies
2. Solaris
Is there a way to do this in Solaris?
For instance, suppose I run the following:
$ swap -l
swapfile dev swaplo blocks free
/dev/md/dsk/d501 85,501 16 16780208 16780208
$ swap -s
total: 3377368k bytes allocated + 519416k reserved = 3896784k used, 11011992k available... (1 Reply)
Discussion started by: lyonsd
1 Replies
3. UNIX for Advanced & Expert Users
Is there a way to monitor certain processes and if they hang too long to kill them, but certain scripts which are expected to take a long time to let them go?
Thank you
Richard (4 Replies)
Discussion started by: ukndoit
4 Replies
4. Solaris
Hi
Is there an easy way to identify and group currently running processes into OS processes and APP processes. Not all applications are installed as packages.
Any free tools or scripts to do this?
Many thanks. (2 Replies)
Discussion started by: wilsonee
2 Replies
5. 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
6. Shell Programming and Scripting
A file named abc.txt being updated with date value by one process.
Say , today it s updating the file with value
01-09-2009
Fine. Tomorrow the process will override the file with tomorrow date (02-09-2009) .Insome case the process will overriding the file with empty string.
So I... (1 Reply)
Discussion started by: Gopal_Engg
1 Replies
7. 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
8. Shell Programming and Scripting
Hi,
Can any one tell me is their any "hold buffer" in perl similar to sed.
I have to find a pattern, once that pattern found then need to go backward and find another pattern and print.
Example:
Below are the contents present in a file
##
block
IPs
URLs
URL_IPs
Unblock
URLs
... (4 Replies)
Discussion started by: Anjan1
4 Replies
9. Shell Programming and Scripting
In end of https://www.unix.com/shell-programming-scripting/103227-while-read-loop-scope-variables-shell.html
mjd_tech gives script which can read some values directly without manually input, but if no value is the right one, my understand is, it will on hold for waiting the next input, but when I... (7 Replies)
Discussion started by: newoz
7 Replies
10. Shell Programming and Scripting
Hi Experts,
i have a file like below
****
table name is xyz
row count for previous day 10
row count for today 20
diff between previous and today 10
scan result PASSED
****
table name is abc
row count for previous day 90
row count for today 35
diff between previous and today 55... (4 Replies)
Discussion started by: Lakshman_Gupta
4 Replies
LEARN ABOUT HPUX
sem_unlink
sem_unlink(2) System Calls Manual sem_unlink(2)
NAME
sem_unlink - unlink a named POSIX semaphore
SYNOPSIS
DESCRIPTION
is used to unlink named semaphores. A successful call to marks the semaphore, specified by name, for removal. Calling does not affect
processes, including the calling process, which currently have a descriptor, obtained from a call to Named semaphores are uniquely identi-
fied by character strings. All character string names will be pre-processed to ensure variations of a pathname resolve to the same sema-
phore name. If the semaphore is successfully marked for removal by a call to the semaphore will be removed when all processes remove their
descriptors to the specified semaphore by calling Subsequent calls to using the string name will refer to a new semaphore.
To use this function, link in the realtime library by specifying on the compiler or linker command line.
EXAMPLES
The following call to will remove the named semaphore named by the string name. If the semaphore is currently referenced by one or more
processes, the semaphore will be marked for removal and removed when there are no more processes referencing it.
RETURN VALUE
If the semaphore was unlinked successfully, returns 0.
If the semaphore could not be unlinked, the call returns -1 and sets to indicate the error.
ERRORS
fails and does not perform the requested operation if any of the following conditions are encountered:
[EACCES] The named semaphore exists and the process does not have the permissions to unlink the semaphore.
[ENAMETOOLONG] The name string is longer than
[ENOENT] The flag is not set in oflag (see sem_open(2)) and the named semaphore does not exist.
SEE ALSO
sem_close(2), sem_open(2), privileges(5), <semaphore.h>.
STANDARDS CONFORMANCE
sem_unlink(2)