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
file::counterfile
CounterFile(3pm) User Contributed Perl Documentation CounterFile(3pm)
NAME
File::CounterFile - Persistent counter class
SYNOPSIS
use File::CounterFile;
$c = File::CounterFile->new("COUNTER", "aa00");
$id = $c->inc;
open(F, ">F$id");
DESCRIPTION
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 can attempt to access a counter simultaneously 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 $File::CounterFile::DEFAULT_DIR. The default
value for this variable is initialized from the environment variable "TMPDIR", or /usr/tmp if 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, it 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 decremented. 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 are 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 File::CounterFile object. This means that you can use the "++" operator for
incrementing and the "--" operator for decrementing the counter, and you can interpolate counters directly into strings.
COPYRIGHT
Copyright (c) 1995-1998,2002,2003 Gisle Aas. All rights reserved.
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
AUTHOR
Gisle Aas <gisle@aas.no>
perl v5.10.0 2004-01-23 CounterFile(3pm)