aspidsinash(3x)aspidsinash(3x)NAME
aspidsinash, aspidsinash_array, aspidsinash_local, aspidsinash_server -
enumerate processes in an array session
SYNOPSIS
#include <sys/types.h>
#include <arraysvcs.h>
aspidlist_t *aspidsinash(ash_t ASH);
asarraylist_t *aspidsinash_array(asserver_t Server,
const char *ArrayName, ash_t ASH);
aspidlist_t *aspidsinash_local(ash_t ASH);
asmachinelist_t *aspidsinash_server(asserver_t Server, ash_t ASH);
DESCRIPTION
The "aspidsinash" functions return lists of process IDs that belong to
the array session specified by the array session handle ASH. Each
function returns its list in a data structure that is defined in
<arraysvcs.h>. The storage for these structures are allocated using
malloc(3C), and should be released with the appropriate function noted
below when it is no longer needed.
The Server argument specifies an optional array server token, which can
be used to direct the request to a specific array services daemon. If
NULL is specified instead, the request will be processed by the default
array services daemon if necessary (see array(1) for more information on
how the default array services daemon is selected). For more details on
creating an array server token, see asopenserver(3X).
aspidsinash_local returns only those processes in the array session that
are running on the local machine. The list of process IDs is returned in
an aspidlist_t structure, which may be freed using asfreepidlist(3X).
aspidsinash is the same as aspidsinash_local, and is retained mainly for
backward compatibility. Unlike the remaining functions,
aspidsinash_local and aspidsinash do not require the array services
daemon to be running in order to complete successfully.
aspidsinash_server returns the list of processes in the specified array
session that are running on the machine specified by Server. The list is
returned in asmachinepidlist_t, which may be freed using
asfreemachinepidlist(3X).
aspidsinash_array returns a list of processes in the specified array
session for all of the machines in the array specified by ArrayName. The
data is returned in the form of an asarraypidlist_t, which may be freed
using asfreearraypidlist(3X). The asarraypidlist_t in turn contains
pointers to one or more asmachinepidlist_t's, one for each machine in the
array. Each asmachinepidlist_t contains the name of the particular
machine and a list of the processes in the specified array session that
are running there.
Page 1
aspidsinash(3x)aspidsinash(3x)NOTES
Notice that because processes and array sessions can come and go over
time, this information cannot be 100% accurate; it may omit some new
processes and/or include processes that have already terminated.
All of the functions are found in the library "libarray.so", and will be
loaded if the option "-larray" is used with cc(1) or ld(1).
The array services daemon, arrayd(1M) must be running on all affected
machines for the functions aspidsinash_array and aspidsinash_server to
work properly.
SEE ALSOasashisglobal(3X), aserrorcode(3X), asfreearraypidlist(3X),
asfreemachinepidlist(3X), asfreepidlist(3X), aslistashs_server(3X),
array_sessions(5).
DIAGNOSTICS
aspidsinash returns a pointer to an aspidlist_t structure if successful
or NULL if not. If unsuccessful, aserrorcode will be set appropriately.
Page 2