03-10-2013
Instead of pipes -- if you're worried about resources or blocking, simply use a single thread that reads a message queue. Once a message queue (SYSV or POSIX) is set up there is a single syscall ( e.g., msgsnd, no blocking ) that is mt-safe and a mutex is not required.
The buffersize, unlike, a pipe, can be any size. The message queue buffer is kernel persistent, so if the entire set of threads/processes using the message queue die, the data is still available. Pipes are closed on process termination.
10 More Discussions You Might Find Interesting
1. UNIX for Advanced & Expert Users
Does anyone know what's new with Efficient dispatching in the Solaris 2.8 release (vs Solaris 2.6) release?
Specifically, does anyone know of a good website to get detailed information on thread dispatching using efficient dispatching in solaris 2.8?
Thank you. (1 Reply)
Discussion started by: uchachra
1 Replies
2. Shell Programming and Scripting
I'm using korn shell to connect to oracle, retrieve certain values, put them in a list, and iterate through them. While this method works, I can't help but think there is an easier method.
If you know of one, please suggest a shorter, more efficient method.
############### FUNCTIONS ... (6 Replies)
Discussion started by: SelectSplat
6 Replies
3. Shell Programming and Scripting
Hi,
Can someone let me know if the below AWK can be made much simpler / efficient ?
I have 200 fields, I need to substr only the last fields.
So i'm printing awk -F~ 'print {$1, $2, $3....................................$196,$197 , susbstr($198,1,3999), substr($199,1,3999)..}'
Is there a... (4 Replies)
Discussion started by: braindrain
4 Replies
4. Shell Programming and Scripting
Hi
I have the following at the end of a service shutdown script used in part of an active-passive failover setup:
###
# Shutdown all primary Network Interfaces
# associated with failover
###
# get interface names based on IP's
# and shut them down to simulate loss of
# heartbeatd
... (1 Reply)
Discussion started by: mikie
1 Replies
5. Shell Programming and Scripting
I have the following code.
printf "Test Message Report" > report.txt
while read line
do
msgid=$(printf "%n" "$line" | cut -c1-6000| sed -e 's///g' -e 's|.*ex:Msg\(.*\)ex:Msg.*|\1|')
putdate=$(printf "%n" "$line" | cut -c1-6000| sed -e 's///g' -e 's|.*PutDate\(.*\)PutTime.*|\1|')... (9 Replies)
Discussion started by: gugs
9 Replies
6. UNIX for Advanced & Expert Users
some of the data i receive has been typed in manually due to which there are often places where i find 8 instead of ( and the incorrect use of case
what according to you is the best way to correct such data.
The data has around 20,000 records.
The value i want to change is in the 4th field.... (2 Replies)
Discussion started by: VGR
2 Replies
7. Post Here to Contact Site Administrators and Moderators
Hi Everyone. First, I want to thank all of you for letting me participate in this great group.
I am having a bit of a problem.
After I get an email from a responder, I login to make my reply.
In the mean time I get another response by email from another member, I go to reply to them and I... (6 Replies)
Discussion started by: Ccccc
6 Replies
8. UNIX for Advanced & Expert Users
Hi Experts,
I've been trying simple grep to search for a string in a huge number of files in a directory.
grep <pattern> *
this gives the search results as well as the following -
grep: <filename>: Permission denied
grep: <filename>: Permission denied
for files which I don't have... (4 Replies)
Discussion started by: sumoka
4 Replies
9. Shell Programming and Scripting
Hello guys
My requirement is to read a file with parent-child relationship
we need to iterate through each row to find its latest child.
for eg. parent child
ABC PQR
PQR DEF
DEF XYZ
Expected Output
ABC XYZ
PQR XYZ
DEF XYZ
Script Logic :
read parent from file
seach child... (4 Replies)
Discussion started by: joshiamit
4 Replies
10. Linux
When unlocking a Linux server's console there's no event indicating successful logging
Is there a way I can fix this ?
I have the following in my rsyslog.conf
auth.info /var/log/secure
authpriv.info /var/log/secure (1 Reply)
Discussion started by: walterthered
1 Replies
pipcrm(1) General Commands Manual pipcrm(1)
NAME
pipcrm - remove a POSIX message queue or a POSIX named semaphore
SYNOPSIS
[option]...
DESCRIPTION
The command removes one or more specified POSIX message queue or POSIX named semaphore.
Options
The identifiers are specified by the following options:
Unlinks the queue name from the message queue
specified by the argument, msqname. If there are no processes with existing open descriptors for the message queue,
the queue is destroyed. If one or more processes have the message queue open, the removal of the queue is postponed
until all descriptors for the queue have been closed.
Unlinks the semaphore name from the semaphore
specified by the argument, semname. If there are no processes with existing open descriptors for the semaphore, the
semaphore is destroyed. If one or more processes have the semaphore open, the removal of the semaphore is postponed
until all descriptors for the semaphore have been closed.
The details of the removals are described in mq_unlink(2), and sem_unlink(2). The names can be found by using (see pipcs(1)).
SEE ALSO
pipcs(1), mq_unlink(2), mq_open(2), mq_send(2), mq_receive(2), sem_unlink(2), sem_open(2), sem_wait(2), sem_post(2).
STANDARDS CONFORMANCE
pipcrm(1)