TASKS(3PVM) PVM Version 3.4 TASKS(3PVM)NAME
pvm_tasks - Returns information about the tasks running on the virtual
machine.
SYNOPSIS
C 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;
Fortran call pvmftasks( where, ntask, tid, ptid, dtid, flag, aout, info )
PARAMETERS
where Integer specifying what tasks to return information about. The
options are:
0 for all the tasks on the virtual machine
pvmd tid for all tasks on a given host
tid for a specific task
ntask Integer returning the number of tasks being reported on.
taskp Returns pointer to an array of structures which contain infor‐
mation about each task including its task ID, parent tid, pvmd
task ID, status flag, and the name of this task's executable
file. The status flag values are: waiting for a message, wait‐
ing for the pvmd, and running.
tid Integer returning task ID of one task
ptid Integer returning parent task ID
dtid Integer returning pvmd task ID of host task is on.
flag Integer returning status of task
aout Character string returning the name of spawned task. Manually
started tasks return blank.
info Integer status code returned by the routine. Values less than
zero indicate an error.
DESCRIPTION
The routine pvm_tasks returns information about tasks presently running
on the virtual machine. The information returned is the same as that
available from the console command ps. The C function returns informa‐
tion about the entire virtual machine in one call. The Fortran function
returns information about one task per call and cycles through all the
tasks. Thus, if where = 0, and pvmftasks is called ntask times, all
tasks will be represented.
Note that in Fortran the reported value of ntask and the set of tasks
do not change until the function resets at the end of a complete cycle.
The user can reset pvmftasks() at any time by calling it with ntask =
-1.
If pvm_tasks is successful, info will be 0. If some error occurs then
info will be < 0.
EXAMPLES
C:
struct pvmtaskinfo *taskp;
int i, ntask;
info = pvm_tasks( 0, &ntask, &taskp );
for (i = 0; i < ntask; i++)
printf("t%x\n", taskp[i].ti_tid);
Fortran:
Do i=1, NTASK
CALL PVMFTASKS( DTID, NTASK, TID(i), PTID(i), DTID(i),
& FLAG(i), AOUT(i), INFO )
EndDo
ERRORS
The following error condition can be returned by pvm_tasks
PvmBadParam
invalid value for where argument.
PvmSysErr
pvmd not responding.
PvmNoHost
specified host not in virtual machine.
SEE ALSOpvm_config(3PVM), pvm_tidtohost(3PVM)
31 August, 1994 TASKS(3PVM)