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 taskinfo **taskp )
    struct taskinfo {
    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
    Pointer to an array of structures which contain information 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, waiting 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.

DISCUSSION
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 information 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. If pvm_tasks is successful, info will be 0. If some error occurs then info will be < 0.

EXAMPLES
C:
	info = pvm_tasks( 0, &ntask, &taskp );
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 ALSO
config(3PVM) and tidtohost(3PVM)