vxargs - build and execute command lines from an argument list file                                                               
  with visualization and parallelism, and output redirection.                                                                       
  vxargs reads a list of arguments from a txt file or standard input,                                                               
  delimited by newlines, and executes the command one or more times                                                                 
  with initial arguments in which {} is substituted by the arguments                                                                
  read from the file or standard input. The current executing commands                                                              
  and progress will be dynamically updated on the screen. Stdout and                                                                
  stderr of each command will be redirected to separate files. A list                                                               
  of all processes with a non-zero exit status is generated in file                                                                 
  abnormal_list. A list of all timeout processes is generated in file                                                               
  vxargs [OPTIONS] command [initial-arguments]                                                                                      
    Print a summary of the options to vxargs and exit.                                                                              
  --max-procs=max-procs, -P max-procs                                                                                               
    Run up to max-procs processes at a time; the default is 30.                                                                     
  --randomize, -r [OPTIONAL]                                                                                                        
    Randomize the host list before all execution.                                                                                   
  --args=filename, -a filename                                                                                                      
    The arguments file. If unspecified, the arguments will be read                                                                  
    from standard input, and -y option must be specified.                                                                           
  --output=outdir, -o outdir                                                                                                        
    output directory for stdout and stderr files                                                                                    
    The default value is specified by the environment variable VXARGS_OUTDIR.                                                       
    If it is unspecified, both stdout and stderr will be redirected                                                                 
    to /dev/null.                                                                                                                   
    Note that if the directory existed before execution, everything                                                                 
    inside will be wiped.                                                                                                           
  --timeout=timeout, -t timeout                                                                                                     
    The maximal time in second for each command to execute. timeout=0                                                               
    means infinite.  0 (i.e. infinite) is the default value. When the time is up,                                                   
    vxargs will send signal SIGINT to the process. If the process does not                                                          
    stop after 2 seconds, vxargs will send SIGTERM signal, and send SIGKILL                                                         
    if it still keeps running after 3 seconds.                                                                                      
  --noprompt, -y                                                                                                                    
    Wipe out the outdir without confirmation.                                                                                       
  --no-exec, -n
    Print the commands that would be executed, but do not execute them.

  --plain, -p                                                                                                                       
    Don't use curses-based output, but plain output to stdout                                                                       
    instead. It will be less exciting, but will do the same job                                                                     
    effectively. It is useful if one wants to start vxargs from cron                                                                
    or by another program that doesn't want to see the output.                                                                      
    By default, vxargs uses the curses-based output.                                                                                
    Display current version and copyright information.                                                                              
  Suppose the iplist.txt file has following content:                                                                                
$ cat iplist.txt                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               
Note that lines starting with '#' will be interpreted as comment for                                                                
the previous lines, which is optional, for visualization purpose only.                                                              
$ vxargs -a iplist.txt -o /tmp/result -P 10 ssh upenn_dharma@{} "hostname;uptime"                                                   
...[ UI output]...                                                                                                                  
$ cat /tmp/result/*                                                                                                                                                                                                                
 03:13:21 up 4 days, 14:36,  0 users,  load average: 0.36, 0.44, 0.44                                                                                                                                                                  
 03:13:20  up 26 days, 16:19,  0 users,  load average: 8.11, 7.41, 7.41                                                                                                                                                                
 03:13:19  up 22 days, 20:02,  0 users,  load average: 13.60, 12.55, 12.59                                                          
ssh: connect to host port 22: Connection timed out                                                                   
other examples:                                                                                                                     
cat iplist.txt | vxargs -o /tmp/result rsync -az -e ssh --delete mirror $SLICE@{}:                                                  
vxargs -a iplist.txt -o /tmp/result ssh {} killall -9 java                                                                          
For more information, please visit