¿Cómo puedo verificar si un proceso de Unix se está ejecutando en Perl?

En UNIX, estoy verificando si un proceso está activo ejecutando el siguiente comando;

P.ej.

psg dtllst pe99

Esto devuelve el siguiente resultado si el proceso se está ejecutando;

UID    PID    PPID    C    STIME    TTY    TIME CMD
pe99   1234   1       0 03:29:44    pts/8  0:01 dtllst pe99

Ahora en Perl, quiero poder averiguar si este proceso está activo o no. Hasta ahora estoy haciendo lo siguiente

`my $checkProc = `psg dttlst | grep $myNode 2>&1`;`    #where $myNode is something like pe01 or pe02 or pe65 or pe99 etc...

Ahora, después de esto, hago lo siguiente para ver si el comando Perl anterior ha devuelto lo que estoy buscando para ver si el proceso está activo;

if ($checkProc =~ m/dtllst $myNode | $myNode/) {
    #yes, process is up
} else {
    #no, process is down
}

Sin embargo, esto no funciona: específicamente, independientemente de si el proceso UNIX está activo o no, mi código SIEMPRE evalúa la declaración if como verdadera. Sé que esto está mal. Traté de escapar del carácter "$5$quot; en la expresión regular para ver si este era el problema y también intenté eliminar las variables de Perl dentro de la expresión regular por completo.

¿Que me estoy perdiendo aqui? Sé que mi expresión regular está mal en alguna parte :(

Gracias

Respuestas a la pregunta(5)

Su respuesta a la pregunta