Guía de seguimiento dinámico de Solaris

Sondeos

Los sondeos proc se describen en la Tabla 25–1.

Tabla 25–1 Sondeos proc

Sondeo 

Descripción 

create

Sondeo que se activa siempre que se crea un proceso mediante fork(2), forkall(2), fork1(2) o vfork(2). El psinfo_t correspondiente al nuevo proceso subordinado es apuntado por args[0]. Es posible distinguir vfork del resto de variantes de bifurcación para PR_VFORKP en el miembro pr_flag del lwpsinfo_t del subproceso que se bifurca. Puede distinguir fork1 de forkall examinando los miembros pr_nlwp del psinfo_t del proceso principal ( curpsinfo) y del proceso subordinado psinfo_t ( args[0]). Dado que el sondeo create sólo se activa después de crear correctamente el proceso, y ya que la creación de LWP forma parte de un proceso de creación, lwp-create se activará para cualquier LWP creado en el momento de creación del proceso antes de que se active el sondeo create para el nuevo proceso.

exec

Sondeo que se activa siempre que un proceso carga una nueva imagen de proceso con una variante de la llamada de sistema exec(2): exec(2), execle(2), execlp(2), execv(2), execve(2), execvp(2). El sondeo exec se activa antes de que se cargue la imagen del proceso. Por lo tanto, las variables de proceso como execname y curpsinfo contienen el estado del proceso antes de cargar la imagen. Poco tiempo después de activarse el sondeo exec, se activará en el mismo subproceso el sondeo exec-failure o el sondeo exec-success. La ruta de la imagen del nuevo proceso es apuntada por args[0].

exec-failure

Sondeo que se activa siempre que falla una variante exec(2). El sondeo exec-failure sólo se activa después de que se active el sondeo exec en el mismo subproceso. El valor errno(3C) se proporciona en args[0] .

exec-success

Sondeo que se activa siempre que se realiza correctamente una variante exec(2). Al igual que el sondeo exec-failure, el sondeo exec-success sólo se activará después de que se active el sondeo exec en el mismo subproceso. En el momento en el que se activa el sondeo exec-success, variables de proceso execname y curpsinfo contienen el estado del proceso después de que se haya cargado la imagen del nuevo proceso.

exit

Sondeo que se activa cuando el proceso actual se está cerrando. La razón del cierre, que se expresara como uno de los códigos SIGCHLD siginfo.h(3HEAD), se encuentra en args[0].

fault

Sondeo que se activa siempre que se produce un fallo del sistema en un subproceso. El código de error (tal y como se define en proc(4)) se encuentra en args[0]. La estructura siginfo que corresponde al fallo es apuntado por args[1]. Sólo los fallos que pueden inducir una señal pueden activar el sondeo fault.

lwp-create

Sondeo que se activa siempre que se crea un LWP, normalmente a raíz de u thr_create(3C). El lwpsinfo_t correspondiente al nuevo subproceso es apuntado por args[0]. El psinfo_t del proceso que contiene el subproceso es apuntado por args[1].

lwp-start

Sondeo que se activa en el contexto de un LWP de reciente creación. El sondeo lwp-start se ejecutará antes de que se ejecute cualquier tipo de instrucción a nivel de usuario. Si el LWP es el primer LWP del proceso se activará el sondeo start, seguido de lwp-start.

lwp-exit

Sondeo que se activa cuando se está cerrando un LWP, debido a una señal o a una llamada explícita a thr_exit(3C).

signal-discard

Sondeo que se activa cuando se envía una señal a un proceso con un único subproceso y el proceso desbloquea e ignora la señal. Bajo estas condiciones, la señal se descarta tras su generación. El lwpsinfo_t y psinfo_t del proceso y subproceso objetivo se encuentran en args[0] y args[1], respectivamente. El número de señal está en args[2].

signal-send

Sondeo que se activa siempre que se envía una señal a un proceso o subproceso. El sondeo signal-send se activa en el contexto del proceso y subproceso que se envía. El lwpsinfo_t y psinfo_t del proceso y subproceso de recepción están en args[0] y args[1], respectivamente. El número de señal está en args[2]. signal-send está siempre seguido de signal-handle o signal-clear en el proceso y subproceso de recepción.

signal-handle

Sondeo que se activa inmediatamente antes de que un subproceso maneje una señal. El sondeo signal-handle se activa en el contexto del subproceso que manejará la señal. El número de señal está en args[0]. Un puntero a la estructura siginfo_t que se corresponde con la señal está en args[1]. El valor de args[1] es NULL si no hay estructura de siginfo_t o si el controlador de señales carece del conjunto de indicadores SA_SIGINFO. La dirección del manejador de señal del proceso está en args[2].

signal-clear

Sondeo que se activa cuando se borra una señal pendiente porque el subproceso de destino estaba esperando la señal en sigwait(2), sigwaitinfo(3RT) o sigtimedwait(3RT). Bajo estas circunstancias, la señal pendiente se borra y se devuelve el número de señal al emisor de la llamada. El número de señal está en args[0]. signal-clear se activa en el contexto del subproceso que anteriormente estaba en estado de espera.

start

Sondeo que se activa en el contexto de un proceso de reciente creación. El sondeo start se activará antes de que se ejecuten en el proceso instrucciones a nivel de usuario.