Si inició algún proceso en la terminal (por ejemplo, gedit), el ID de proceso (PID) (de bash) y el ID de proceso primario (PPID) (de gedit) para estos dos procesos serán los mismos. Esto se puede ver en la salida de
ps -ef
mando. Para hacerlo más legible, primero "canalice" la salida para grepencontrar el PID de todos los procesos "bash" que se están ejecutando actualmente y luego "canalizar" nuevamente awk. Los awkselecciona sólo el PID y campos de nombre de proceso (campo 2 y 8) y salidas a la pantalla.
ps -ef | grep bash | awk '{print $2 ": " $8}'
El número en la salida es PID. Lo usará para encontrar qué proceso se inició en la terminal que tiene ese PID. Tenga en cuenta que puede haber más de una línea de salida si tiene más de un terminal abierto. Ahora, para encontrar los procesos "secundarios" (si los hay) de esas sesiones de terminal, podemos usar este comando:
ps -ef | awk '{if ($3 == EnterPID) print $2 ": " $8;}'
Debe ingresar el número PID en lugar de EnterPID en el último comando. Si hay más de un PID para "bash", debe probarlos todos.
El último comando solo busca el resultado ps -efy busca si PID (que ha encontrado en el comando anterior) y PPID son los mismos para cualquier proceso.
Más información:
hombre ps
hombre awk
screen,tmux,script,ssh,mcy convertido a los paneles de apagado, o simplemente otro proyectil por ejemplo, escribiendobash, o algo a lo largo de estas líneas. Presione Ctrl + D o escribaexitpara salir de su shell, verá dónde termina.