Sponsored Content
Top Forums UNIX for Dummies Questions & Answers For loop for checking processes Post 302481922 by rbatte1 on Monday 20th of December 2010 07:57:58 AM
Old 12-20-2010
You might have trouble with using ps & grep, because sometimes
Code:
ps -ef|grep something

will find a processes "grep something", so you can get spurious errors.
You would be safer using a regular expression in the grep, even if there is nothing to expand. Something like:-
Code:
ps -ef|grep somethin[g]

will never match the grep statement itself. Apart from that, you code looks okay, but it could be simplified. If I may suggest:
Code:
proc1=$(ps -ef | grep -c proc[1])
proc2=$(ps -ef | grep -c proc[2])
if [ $proc1 -eq 0 -o $proc2 -eq 0 ]
then
   ....whatever....
fi

Of course, if you logic is that if neither process is running, you would want an AND condition, so a -a flag in the if statement. Of course, if that is the case, you can save some processing by combining the first two lines, so:
Code:
procs=$(ps -ef | egrep -c "proc[12]")
if [ $proc1 -eq 0 -o $proc2 -eq 0 ]
then
   ....whatever....
fi


I hope that this is useful, but if i have missed the point, please write back and hopefully I or someone else will correct it.




Robin
Liverpool/Blackburn
UK
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Checking Return Codes of Background Processes

I'm trying to do the following: 1) Run a bunch of jobs in the background 2) Determine if any one of them returns with a non-zero exit status Here's what I've come up with so far: ########################################## #!/bin/ksh while } -lt 1024 ] do SLEEP_TIME=`expr 1024 -... (2 Replies)
Discussion started by: bergerj3
2 Replies

2. UNIX for Dummies Questions & Answers

checking Processes

I have aix version 5.1 I was wondering how I can check all running processes? I have used several ps commands but have been unsuccessful at it. I can see all with {ps aux } I have a little trouble knowing what I am looking for also. I should be looking at length of time and processor usage? I am... (3 Replies)
Discussion started by: rocker40
3 Replies

3. Shell Programming and Scripting

Checking before start and stop processes

Hi, I have 2 start and stop sh. Start sh -------- This will start few processes. Example code: echo "start process : lgz200 /pipe=test_jobs" nohup lgz200 /db=test/test1@test1 /pipe=test_jobs > ../log/lgz200_j.log & echo "echo \"stop process (pid=$!): lgz200 /pipe=test_jobs\"" >>... (3 Replies)
Discussion started by: maldini
3 Replies

4. Programming

forking n number of processes in a loop and not 2^n

Hi, Am working on linux. while forking in a loop how to avoid the child process from forking..for example int n = 5; pid_t pid; pid_t ch_pid; /*exactly wanted to create n processes and not 2^n processes*/ for(i = 0; i < n;i++) { if(pid = fork()) { /* parent... (4 Replies)
Discussion started by: rvan
4 Replies

5. Shell Programming and Scripting

Checking condition inside the loop

Hi all, I have one clarification i am using the loop which will process for each record .suppose there is f ailure in the first record it need to send mail and process the next .my code: defcount=`cat <filename>|wc -l` while ] do if <some condiotion> then echo "mail" fi done so... (1 Reply)
Discussion started by: ithirak17
1 Replies

6. Shell Programming and Scripting

Process checking loop

Hi, I want to create a script who will check if the java process is running & if it finds the process is still there it continues to execute & when the process completes it exit from the script. I have written a code to check & notify the process existence but i am not getting how to write... (4 Replies)
Discussion started by: d8011
4 Replies

7. Shell Programming and Scripting

while loop checking for file

Hi I my shell scripting(Main.ksh) i am calling the another loader.ksh using nohup inside the for loop ...so the above command runs parallel. Loader.ksh generate the dummy file seq_n.run file and deleted in the end of the Loader.ksh In the main.ksh .. after the for loop .. i have to check... (1 Reply)
Discussion started by: gavemani
1 Replies

8. UNIX for Dummies Questions & Answers

Checking for processes in Linux

I want to check processes on my Linux server Normally we do a ps-ef|grep "search code" Now we want to check for certain processes which are up and running and we want to get an email, whenever the processes we are checking goes down? How can i implement this? (1 Reply)
Discussion started by: saggiboy10
1 Replies

9. Solaris

Solaris zones - checking processes and lofs file system

Hi all, q1) If i am in a global-zone, is there any command or anyway to check if a particular process in "ps -ef" output is running in which zone ? q2) if i have created and mount a lofs filesystem/mountpoint for my non-global zone, can i say the following e.g. /dev/md/dsk/d60 /data --... (1 Reply)
Discussion started by: javanoob
1 Replies

10. Shell Programming and Scripting

For loop without checking file exists

In several scripts that process files matched by name pattern I needed to add a check for file existence. Just to illustrate let's say I need to process all N??? files: /tmp$ touch N100 N101 /tmp$ l ?10 -rw-rw-r-- 1 moss group 0 Apr 19 11:22 N100 -rw-rw-r-- 1 moss group ... (10 Replies)
Discussion started by: migurus
10 Replies
voice_set_playmode(3alleg4)					  Allegro manual				       voice_set_playmode(3alleg4)

NAME
voice_set_playmode - Adjusts the loop status of the specified voice. Allegro game programming library. SYNOPSIS
#include <allegro.h> void voice_set_playmode(int voice, int playmode); DESCRIPTION
Adjusts the loop status of the specified voice. This can be done while the voice is playing, so you can start a sample in looped mode (hav- ing set the loop start and end positions to the appropriate values), and then clear the loop flag when you want to end the sound, which will cause it to continue past the loop end, play the subsequent part of the sample, and finish in the normal way. The mode parameter is a bitfield containing the following values: PLAYMODE_PLAY Plays the sample a single time. This is the default if you don't set the loop flag. PLAYMODE_LOOP Loops repeatedly through the sample, jumping back to the loop start position upon reaching the loop end. PLAYMODE_FORWARD Plays the sample from beginning to end. This is the default if you don't set the backward flag. PLAYMODE_BACKWARD Reverses the direction of the sample. If you combine this with the loop flag, the sample jumps to the loop end position upon reaching the loop start (ie. you do not need to reverse the loop start and end values when you play the sample in reverse). PLAYMODE_BIDIR When used in combination with the loop flag, causes the sample to change direction each time it reaches one of the loop points, so it alternates between playing forwards and in reverse. SEE ALSO
Allegro version 4.4.2 voice_set_playmode(3alleg4)
All times are GMT -4. The time now is 06:27 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy