Provided by: mdm_0.1.3-2.1_amd64 bug

NAME

       mdm.screen - run a command under mdm-master

SYNOPSIS

       mdm.screen [-c iospec] [-n slaves] command

DESCRIPTION

       mdm.screen  runs  command  under mdm-master so that mdm-run commands in command can run in
       parallel.

       This program is a part of the Middleman System (mdm).

OPTIONS

       The mdm.screen command has two optional options.

       -c iospec
              The iospec file (see below).

       -n slaves
              The number of mdm-slave process to start (default 6).

THE IOSPEC FILE

       mdm-master uses the iospec file to decide whether two commands interfere with each  other,
       and it only runs two commands at the same time if they do not interfere.

       Each  line  of  the  iospec  file specifies the I/O behavior of a program, unless the line
       starts with a '#' character, in which case the line is treated as  comments  and  ignored.
       The format is as follows:

              program spec spec ...

       program  names  the program whose behavior you are specifying.  For each spec element, the
       first character indicates usage, and the remaining characters indicate resource.

       A resource that starts with a '-' character represents the argument of  the  corresponding
       program  option.   A  resource  that  is an empty string represents a program argument.  A
       resource that is not empty and does not start with a '-' character represents the resource
       string itself.

       A  usage  is  typically an upper-case character.  If two commands access the same resource
       with different usage, mdm-master will not  run  these  two  commands  at  the  same  time.
       Furthermore,  if  a  command  access a resource with ´W´ usage, mdm-master will not run it
       with any command that access the same resource in any way (including  'W').   There  is  a
       special  case: if usage is '0' and resource starts with a '-' character, it means that the
       resource program option does not take any arguments.

       All programs has an implicit spec 'Rglobal', so if you mark a  program  as  'Wglobal',  it
       will not run while any other command is running.

       Here is an example to help clarify matters.  Suppose we have the following iospec file:

              cc W-o 0-c R
              rm W

       Then these two commands can run at the same time:

              cc -o pa pa.o lib.o
              cc -o pb pb.o lib.o

       These two commands cannot run at the same time:

              cc -o pa.o -c pa.c
              cc -o pa pa.o lib.o

       And these two commands also cannot run at the same time:

              cc -o pa pa.o lib.o
              rm pa

EXIT STATUS

       The exit status of mdm.screen is 0.

EXAMPLE

       Here  is  what  you do to decompress all files with .gz extension in the current directory
       tree.

              mdm.screen find . -iname '*.gz' -exec mdm-run gunzip {} \;

       Since we run find under mdm.screen and invoking gunzip under mdm-run, we specify  that  we
       wish to run the gunzip commands in parallel.

SEE ALSO

       mdm-run(1), mdm-sync(1), ncpus(1)