Sponsored Content
Top Forums Shell Programming and Scripting Parallel processing for functions in xargs Post 302944218 by tange on Sunday 17th of May 2015 01:39:54 PM
Old 05-17-2015
Use GNU Parallel

Install GNU Parallel and do this:
Code:
$ foo() { echo $*; }                                          

$ export fun="`typeset -f`"; parallel 'eval "$fun";'foo ::: works
works

$ export fun="`typeset -f`"; parallel 'eval "$fun";'foo :::: param_file


Last edited by tange; 05-17-2015 at 04:59 PM.. Reason: works in zsh, too, with "
 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

How to do parallel processing??

Hi All, I am working on solaris 8 sparc machine with 2 cpu. I am trying to run my application which generates files. I run multiple instance of the application, but the results don't seem to show as if it were runing parallely. When i run the application once it takes 12 secs to generate a... (1 Reply)
Discussion started by: zing
1 Replies

2. Shell Programming and Scripting

parallel processing

Hi I want to run two shell script files parallely. These two scripts are interacting with the database. can any body help on this Pls Regards Audippa naidu.M (3 Replies)
Discussion started by: audippa
3 Replies

3. Shell Programming and Scripting

Need Help With Parallel Processing

Hi I am looking for some kind of feature in unix that will help me write a script that can invoke multiple processes in parallel. And make sure that the multiple parallel processes complete successfully before I proceed to the next step. Someone suggested something called timespid or... (6 Replies)
Discussion started by: imnewtothis23
6 Replies

4. Shell Programming and Scripting

parallel processing

hi i am preparing a set of batches for a set of files sequentially There is a folder /xyz where all the files reside now all the files starting with 01 - will be appended for one below other to form a batch batch01 then all the files starting with 02 - will be appended for one below other to... (7 Replies)
Discussion started by: mad_man12
7 Replies

5. Shell Programming and Scripting

Using xargs for multiple functions

Hi Experts, I am trying to parse some syslog outputs into a separate file per node using the below syntax but am having issues when it comes to my Xargs statements. The command which I was intending on using was: cat syslogs | nawk '/From/ { print $3 }' | uniq | xargs -I {} grep {}... (5 Replies)
Discussion started by: krypton
5 Replies

6. Shell Programming and Scripting

How to make parallel processing rather than serial processing ??

Hello everybody, I have a little problem with one of my program. I made a plugin for collectd (a stats collector for my servers) but I have a problem to make it run in parallel. My program gathers stats from logs, so it needs to run in background waiting for any new lines added in the log... (0 Replies)
Discussion started by: Samb95
0 Replies

7. Programming

Algorithms for Parallel Processing

Hey, I just wanted to know how many algorithms there are that cannot be accelerated by parallel processing. I know one such algorithm is Euclid's Algorithm (for GCF). does anyone know any other algorithms that cannot be accelerated by pp? if so please list the names and a general sentence of what... (2 Replies)
Discussion started by: azar.zorn
2 Replies

8. Shell Programming and Scripting

Calling multiple functions in parallel

Hello, I have multiple functions within a shell script. eg. function_database_backup, unix_tar_creation, etc. I would like to run these functions in parallel, as each is independent of the other. If these were simple commands, I could have probably run each of the commands in background. ... (1 Reply)
Discussion started by: neil.k
1 Replies

9. Shell Programming and Scripting

Pass parameters to a function and running functions in parallel

Hi , I have a script which is using a text file as I/P. I want a code where it reads n lines from this file and pass the parameters to a function and now this script should run in such a way where a function can be called in parallel with different parameters. Please find below my script, it... (1 Reply)
Discussion started by: Ravindra Swan
1 Replies

10. Shell Programming and Scripting

Parallel processing

I have 10,000 + files, each of which I need to zip using bzip2. Is ti possible to use bash to create 8 parallel streams sending a new file to be processed from the list when one of the others has finished? (1 Reply)
Discussion started by: garethsays
1 Replies
funparamget(3)							SAORD Documentation						    funparamget(3)

NAME
FunParamGet - get a Funtools param value SYNOPSIS
#include <funtools.h> int FunParamGetb(Fun fun, char *name, int n, int defval, int *got) int FunParamGeti(Fun fun, char *name, int n, int defval, int *got) double FunParamGetd(Fun fun, char *name, int n, double defval, int *got) char *FunParamGets(Fun fun, char *name, int n, char *defval, int *got) DESCRIPTION
The four routines FunParamGetb(), FunParamGeti(), FunParamGetd(), and FunParamGets(), return the value of a FITS header parameter as a boolean, int, double, and string, respectively. The string returned by FunParamGets() is a malloc'ed copy of the header value and should be freed when no longer needed. The first argument is the Fun handle associated with the FITS header being accessed. Normally, the header is associated with the FITS extension that you opened with FunOpen(). However, you can use FunInfoPut() to specify access of the primary header. In particular, if you set the FUN_PRIMARYHEADER parameter to 1, then the primary header is used for all parameter access until the value is reset to 0. For exam- ple: int val; FunParamGeti(fun, "NAXIS", 1, 0, &got); # current header val=1; FunInfoPut(fun, FUN_PRIMARYHEADER, &val, 0); # switch to ... FunParamGeti(fun, "NAXIS", 1, 0, &got); # ... primary header FunParamGeti(fun, "NAXIS", 2, 0, &got); # ... primary header val=0; FunInfoPut(fun, FUN_PRIMARYHEADER, &val, 0); # switch back to ... FunParamGeti(fun, "NAXIS", 2, 0, &got); # current header Alternatively, you can use the FUN_PRIMARY macro to access parameters from the primary header on a per-parameter basis: FunParamGeti(fun, "NAXIS1", 0, 0, &got); # current header FunParamGeti(FUN_PRIMARY(fun), "NAXIS1", 0, 0, &got); # primary header NB - FUN_PRIMARY is deprecated. It makes use of a global parameter and therefore will not not appropriate for threaded applications, when we make funtools thread-safe. We recommend use of FunInfoPut() to switch between the extension header and the primary header. For output data, access to the primary header is only possible until the header is written out, which usually takes place when the first data are written. The second argument is the name of the parameter to access. The third n argument, if non-zero, is an integer that will be added as a suf- fix to the parameter name. This makes it easy to use a simple loop to process parameters having the same root name. For example, to gather up all values of TLMIN and TLMAX for each column in a binary table, you can use: for(i=0, got=1; got; i++){ fun->cols[i]->tlmin = (int)FunParamGeti(fun, "TLMIN", i+1, 0.0, &got); fun->cols[i]->tlmax = (int)FunParamGeti(fun, "TLMAX", i+1, 0.0, &got); } The fourth defval argument is the default value to return if the parameter does not exist. Note that the data type of this parameter is different for each specific FunParamGet() call. The final got argument will be 0 if no param was found. Otherwise the data type of the parameter is returned as follows: FUN_PAR_UNKNOWN ('u'), FUN_PAR_COMMENT ('c'), FUN_PAR_LOGICAL ('l'), FUN_PAR_INTEGER ('i'), FUN_PAR_STRING ('s'), FUN_PAR_REAL ('r'), FUN_PAR_COMPLEX ('x'). These routines return the value of the header parameter, or the specified default value if the header parameter does not exist. The returned value is a malloc'ed string and should be freed when no longer needed. By default, FunParamGets() returns the string value of the named parameter. However, you can use FunInfoPut() to retrieve the raw 80-character FITS card instead. In particular, if you set the FUN_RAWPARAM parameter to 1, then card images will be returned by Fun- ParamGets() until the value is reset to 0. Alternatively, if the FUN_RAW macro is applied to the name, then the 80-character raw FITS card is returned instead. NB - FUN_RAW is deprecated. It makes use of a global parameter and therefore will not not appropriate for threaded applications, when we make funtools thread-safe. We recommend use of FunInfoPut() to switch between the extension header and the primary header. Note that in addition to the behaviors described above, the routine FunParamGets() will return the 80 raw characters of the nth FITS card (including the comment) if name is specified as NULL and n is positive. For example, to loop through all FITS header cards in a given extension and print out the raw card, use: for(i=1; ;i++){ if( (s = FunParamGets(fun, NULL, i, NULL, &got)) ){ fprintf(stdout, "%.80s ", s); free(s); } else{ break; } } SEE ALSO
See funtools(7) for a list of Funtools help pages version 1.4.2 January 2, 2008 funparamget(3)
All times are GMT -4. The time now is 10:36 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy