MDM.SCREEN(1)
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.