Process Management
Returns the tid of the calling process. tid values less than zero indicate an fault.
Tells the local pvmd that this process is leaving PVM. info Integer status code returned by the routine. Values less than zero shows an error.
- pvm_spawn( char *task, char **argv, int flag, char *where, int ntask, int
*tids )
start new PVM processes. task, a character string is the implementable file name of the PVM process to be started. The implementable must already reside on the host on which it is to be in progress. Argv is a pointer to an array of arguments to task. If the implementable needs no arguments, then the second argument to pvm_spawn is NULL. flag Integer states spawn options. where , a characte r string describes where to start the PVM process. If flag is 0, then where is ignored and PVM will select the most appropriate host. ntask ,an integer, describes the number of copies of the implementable to start. tids ,Integer array of length ntask returns the tids of the PVM processes started by this pvm_spawn call. The function returns the real number of processes returned. Negative values shows error.
Terminates a particular PVM process. tid Integer task identifier of the PVM process to be killed (not itself). Return values less than zero shows an error.
- int pvm_catchout( FILE *ff )
Catch output from child tasks. ff is file descriptor on which we type the collected output. The default is to have the PVM type the stderr and stdout of spawned tasks.
Information
Returns the tid of the process that spawned the calling process.
Returns the host of the particular PVM process. Error if negative value is returned.
int pvm_config( int *nhost, int *narch, struct pvmhostinfo **hostp )
struct pvmhostinfo {
int hi_tid;
char *hi_name; char *hi_arch; int hi_speed;
};
Returns information about the current virtual machine configuration. nhost is the number of hosts (pvmds) in the virtual machine. narch is the number of dissimilar data formats is being used. hostp is pointer to an array of structures which have the information about every host including its pvmd task ID, architecture, name and relative speed(default is 1000).
- int info = pvm_tasks( int where, int *ntask, struct pvmtaskinfo **taskp )
struct pvmtaskinfo {
int ti_tid; int ti_ptid;
int ti_host;
int ti_flag; char *ti_a_out; } taskp;
Returns the information regarding the tasks running on the virtual machine. where states what tasks to return the information about. The options are:
0
for every the tasks on the virtual machine
pvmd tid
for all tasks on a given host
tid
for a specific task
ntask returns the number of tasks being reported on.
taskp is a pointer to an array of structures which have the information about every task including its task ID, pvmd task ID, parent tid, status flag, and the name of this task's implementable file. The status flag values are: waiting for the pvmd, waiting for a message, and running.