Man Linux: Main Page and Category List


       mdm.screen - run a command under mdm-master


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


       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).


       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).


       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


       The exit status of mdm.screen is 0.


       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.


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