Sponsored Content
Top Forums Shell Programming and Scripting Background tasks in a loop (bash) Post 302507794 by LMHmedchem on Thursday 24th of March 2011 08:42:37 PM
Old 03-24-2011
Background tasks in a loop (bash)

I am trying to use a loop to start tasks 0-3, running 0,1,2 in the background with &.
Code:
FOLDSET=( 0 1 2 3 )

for FOLDSET in ${FOLDSET[@]}
do
   if [ $FOLDSET -lt 3 ]; then
     BACKGRD="&"
   else
     BACKGRD=""
   fi
   # start task $FOLDSET
   task1 -nogui -ni -p $PROJ \
      epochs=$EPOS  batches=$BATCH  n_threads=$THRD \
      arch=$ARCH  data_set=$DSET  fldTag=f$FOLDSET  $BACKGRD
done

I am truing to append & to the first three task (0,1,2), but not have & after the 4th. This will pause the script after task 4 and wait for it to finish before moving on. This is not working. I have tried & with and without the quotes with no difference. The code starts a four tasks, but in sequence instead of simultaneously.

Any suggestions, or am I going about this all wrong.

LMHmedchem

Last edited by LMHmedchem; 03-24-2011 at 09:48 PM..
 

9 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

background problem in while loop

file 005: trap 'echo "\nInterrupcion recibida.Saliendo\n\n" ; exit 0 ' 2 9 15 while true do ./005.aux & done 005.aux: trap 'exit 0' 2 9 15 sleep 30 exit 0 The error ocurrs if i try to execute 005.aux in background. How could i resolve it? Thanks :cool: (7 Replies)
Discussion started by: Jariya
7 Replies

2. Shell Programming and Scripting

Repetitive Tasks: using if..then inside a loop

I thought I was getting pretty good with Bash but this problem is stumping me. Any suggestions would be greatly appreciated. I've written a firewall script that uses a lot of functions. The variables are read into the script from another .conf file earlier on in the code. Most of these... (2 Replies)
Discussion started by: garak
2 Replies

3. Shell Programming and Scripting

background processing in BASH

I have script 3 scripts 1 parent (p1) and 2 children child1 and child2 I have script 3 scripts 1 parent 2 children child1 child2 In the code below the 2 child processes fire almost Instantaneously in the background, Is that possible to know the status of pass/fail of each process... (12 Replies)
Discussion started by: jville
12 Replies

4. Shell Programming and Scripting

kill PID running in background in for loop

Guys, can you help me in killing the process which is running in back ground under for loop I am not able to find the PID using ps -afx|grep <word in command I entered> (1 Reply)
Discussion started by: mohan_xunil
1 Replies

5. Shell Programming and Scripting

How to check background tasks status, if fail report

Hi, I have a requirement where I want to submit appx 100 jobs based on the files received. Assume today I received source file for 50 jobs, then I have submit a common script at 50 times. This common script will take appx 1-2 mins to finish. I can' complete my parent script untill all the... (1 Reply)
Discussion started by: meetvipin
1 Replies

6. Shell Programming and Scripting

Doing multiple tasks in a loop.

I am in the process of updating a folder of hundreds of recipe html files. I've already managed to modify a number of things in each file but I have run into something that's beyond my ability. I have a text file that I need to insert the contents into the html at a specific point. It creates... (0 Replies)
Discussion started by: Trapper
0 Replies

7. UNIX for Dummies Questions & Answers

How to make entries background tasks in the table?

Hi am new to unix , when the background task is running how to put entry in the table and also if there is any issue how to stop the running task. can anyone help me... (1 Reply)
Discussion started by: Venkatesh1
1 Replies

8. Shell Programming and Scripting

While loop hangs in function running in background

Hello Everyone, I am writing a shell script to fetch log files from remote servers within a time range. It copies log files to local server, grep for date and then compares the time stamp of each log entry with the once specified. Below is the code. # Get log and Parsing function ... (1 Reply)
Discussion started by: kanagalamurali
1 Replies

9. Shell Programming and Scripting

Bash script parallel tasks and command to wait untill complete?

Hello, im having bash script with while *** command1 && command2 && command3 && done i want to ask how i can prevent overloading server, by waiting untill all commands complete? any low resources intensive command like "wait" - i dont know if exist? (2 Replies)
Discussion started by: postcd
2 Replies
iv_task(3)						    ivykis programmer's manual							iv_task(3)

NAME
iv_task_register, iv_task_unregister, iv_task_registered - deal with ivykis tasks SYNOPSIS
#include <iv.h> struct iv_task { void *cookie; void (*handler)(void *); }; void IV_TASK_INIT(struct iv_task *task); void iv_task_register(struct iv_task *task); void iv_task_unregister(struct iv_task *task); int iv_task_registered(struct iv_task *task); DESCRIPTION
The functions iv_task_register and iv_task_unregister register, respectively unregister, a task with the current thread's ivykis event loop. iv_task_registered on a task returns true if that task is currently registered with ivykis. A task is like a timer, but with an immediate timeout. When a task is registered, unless it is unregistered again first, the callback function specified by ->handler is guaranteed to be called once, in the thread that the task was registered in, some time after control returns to the ivykis main loop but before ivykis will sleep for more events, with ->cookie as its first and sole argument. When this hap- pens, the task is transparently unregistered. Tasks are mainly used for scheduling code for execution where it is not appropriate to directly run that code in the calling context (for example, because the current context might be run as a callback function where the caller expects certain conditions to remain invariant after the callback completes). The application is allowed to change the ->cookie and ->handler members at any time. A given struct iv_task can only be registered in one thread at a time, and a task can only be unregistered in the thread that it was regis- tered from. There is no limit on the number of tasks registered at once. See iv_examples(3) for programming examples. SEE ALSO
ivykis(3), iv_examples(3) ivykis 2010-08-15 iv_task(3)
All times are GMT -4. The time now is 02:41 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy