12-18-2010
[SOLVED]
The solution is for dec.sh and inc.sh to lock counter.txt (and not as it is in OP). And also run both processes in for loop with ampersand (&). All this by trial&error ... will have to learn what braces actually are good for.
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
In a korn shell script, how can I run several processes in parallel at the same time?
For example, I have 3 processes say p1, p2, p3
if I call them as
p1.ksh
p2.ksh
p3.ksh
they will run after one process finishes. But I want to run them in parallel and want to display "Process p1... (3 Replies)
Discussion started by: sbasak
3 Replies
2. Programming
anybody knows how to view loaded shared libraries by running processes in linux enviornment? any command or tool ?
thanks a lot (3 Replies)
Discussion started by: princelinux
3 Replies
3. Shell Programming and Scripting
Hello ,
I would like to know how to check if a given process id belongs to particualr shared memory segment .
Please help
Thanks in advance (3 Replies)
Discussion started by: rmv
3 Replies
4. Shell Programming and Scripting
Hi,
I have a generic FTP script which will be called by 28 different processes in parallel (through a GUI tool) may or may not be at the exact moment (there could be a delay of about a minute or so).
./FTP.ksh 1 (1 through 28)
This script after importing file from remote m/c... (1 Reply)
Discussion started by: dips_ag
1 Replies
5. UNIX for Advanced & Expert Users
Is there some way to tell what processes are attached to a shared memory segment? We have a system on which I perform "icps -ma" and there are several segments pending deletion having numerous processes attached to them and I can't tell what processes they are. Neither the creator's pid nor last... (7 Replies)
Discussion started by: DreamWarrior
7 Replies
6. Homework & Coursework Questions
Hi again!
I have 2 questions ..:
How can i create exactly one number of processes ?
For example i want to create l*n processes and i tried this:
for(i=0;i<l*n;i++){
pid=fork()}
But it creates more than l*n
Also, i want each child to run another x.c program with 3 command line... (1 Reply)
Discussion started by: giampoul
1 Replies
7. Homework & Coursework Questions
Hi again!
I have 2 questions ..:
How can i create exactly one number of processes ?
For example i want to create l*n processes and i tried this:
for(i=0;i<l*n;i++){
pid=fork()}
But it creates more than l*n
Also, i want each child to run another x.c program with 3 command line... (1 Reply)
Discussion started by: giampoul
1 Replies
8. Shell Programming and Scripting
Hi,
I have a shell script that creates 2 parallel processes. When I press ctrl+c, i want the parallel process to get killed as well.
#!/bin/bash
cmd1="script1.py"
cmd2="script2.py"
${cmd1} &
pid1=$!
echo ${pid1}
${cmd2} &
pid2=$! (7 Replies)
Discussion started by: sana.usha
7 Replies
9. Shell Programming and Scripting
Hi guys,
I am struggling with adapting my script to increase the performance.
I created a ksh script to process a lot of files in parallel.
I would like to know how can I do in such a way that a constant number of processes is always up (until all is finished).
What I have is (not actual... (8 Replies)
Discussion started by: lurkerro
8 Replies
10. Shell Programming and Scripting
Hello all,
I tried to parralise my treatments but after a while 'ps -ef' display all child process <defunct> (zombie)
Parent bash script to process all files (>100000) in directory:
for filename in /Data/*.txt; do
./child_pprocess.sh $filename &
done
exit(0)I understand that the... (1 Reply)
Discussion started by: namnetes
1 Replies
LEARN ABOUT DEBIAN
vend::counterfile
Vend::CounterFile(3pm) User Contributed Perl Documentation Vend::CounterFile(3pm)
NAME
Vend::CounterFile - Persistent counter class
SYNOPSIS
use Vend::CounterFile;
$c = new Vend::CounterFile "COUNTER", "aa00";
$id = $c->inc;
open(F, ">F$id");
DESCRIPTION
(This module is modified from Gisle Aas File::CounterFile to use
Interchange's locking protocols -- lack of fcntl locking was causing
counter problems.)
This module implements a persistent counter class. Each counter is represented by a separate file in the file system. File locking is
applied, so multiple processes might try to access the same counters at the same time without risk of counter destruction.
You give the file name as the first parameter to the object constructor ("new"). The file is created if it does not exist.
If the file name does not start with "/" or ".", then it is interpreted as a file relative to $Vend::CounterFile::DEFAULT_DIR. The default
value for this variable is initialized from the environment variable "TMPDIR", or /usr/tmp is no environment variable is defined. You may
want to assign a different value to this variable before creating counters.
If you pass a second parameter to the constructor, that sets the initial value for a new counter. This parameter only takes effect when
the file is created (i.e. it does not exist before the call).
When you call the "inc()" method, you increment the counter value by one. When you call "dec()" the counter value is decrementd. In both
cases the new value is returned. The "dec()" method only works for numerical counters (digits only).
You can peek at the value of the counter (without incrementing it) by using the "value()" method.
The counter can be locked and unlocked with the "lock()" and "unlock()" methods. Incrementing and value retrieval is faster when the
counter is locked, because we do not have to update the counter file all the time. You can query whether the counter is locked with the
"locked()" method.
There is also an operator overloading interface to the Vend::CounterFile object. This means that you might use the "++" operator for
incrementing the counter, "--" operator for decrementing and you can interpolate counters diretly into strings.
BUGS
(This problem alleviated by this modified module)
It uses flock(2) to lock the counter file. This does not work on all systems. Perhaps we should use the File::Lock module?
COPYRIGHT
Copyright (c) 1995-1998 Gisle Aas. All rights reserved. Modifications made by and copyright (C) 2002 Red Hat, Inc. and (c) 2002-2007
Interchange Development Group
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
AUTHOR
Gisle Aas <aas@sn.no>
perl v5.14.2 2010-03-25 Vend::CounterFile(3pm)