Scilab function

pvm_spawn - Starts new Scilab processes.

### Sequence d'appel

  `[tids, numt] = pvm_spawn(task, ntask, [nw], [where])`

### Parametres

- `task : string, which is the file name of the scilab script (see exec) to be` started. The Scilab script must already reside on the host on which it is to be started. The name must an absolute path.
- `ntask` : integer, specifying the number of copies of the scilab script to start.
- `win` : string (optional). If win is equal to ``nw'' the Scilab process will be spawned in background with out any window coming up.
- `where` : string (optional), can be a host name such as ``tequila.ens-lyon.fr'' or a PVM architecture class such as ``SUN4''.
- `numt` : integer, the actual number of tasks started. Values less than zero indicate a system error.

tids : row of integers, array of the tids of the PVM processes started by this pvm_spawn call.

### Description

`pvm_spawn` starts

copies of the scilab script

On systems that support environment, spawn passes selected variables from parent environment to children tasks. If set, the envar `PVM_EXPORT` is passed. If PVM_EXPORT contains other names (separated by ':') they will be passed too. This is useful for e.g.:

     setenv DISPLAY myworkstation:0.0
     setenv MYSTERYVAR 13
     setenv PVM_EXPORT DISPLAY:MYSTERYVAR

The hosts on which the PVM processes are started are determined by the

arguments. On return the array

contains the PVM task identifiers for each process started.

If pvm_spawn starts one or more tasks,

will be the actual number of tasks started. If a system error occurs then

will be < 0. If

is less than

then some executables have failed to start and the user should check the last

locations in the

array which will contain error codes (see below for meaning). The first

tids in the array are always valid.

When the argument

is omitted a heuristic (round-robin assignment) is used to distribute the

processes across the virtual machine.

In the special case where a multiprocessor is specified by

pvm_spawn will start all

copies on this single machine using the vendor's underlying routines.

### Exemples

    // create an exec file (script)
    write(TMPDIR+'/foo.sce',['a=1';'plot2d()'])
    // start a new Scilab on the same host to execute the script
    [tids, numt] = pvm_spawn(TMPDIR+'/foo.sce',1)
    pvm_kill(tids) //terminate the new scilab

### Voir aussi

`pvm` `pvm_spawn_independent`