Pide que muevan el hilo a Software Libre quizás ahí alguien te pueda ayudar mejor.
A ver vamos hay cosas las cuales no recuerdo muy bien pero recuerdo alguna vez a ver jugado con procesos.
-Listar todos los procesos del usuario root mostrando relaciones de parentesco entre procesos
Lo del parentesco ni idea
pero quizás te sirva algo tan simple como :
ps aux | grep root | less
Tambien lo puedes enviar a un archivo para despues analizarlo >> file.txt
-Indicar cuatro procesos padre que generen un conjunto de procesos hijos.
Mmmmm según lo que creo no estoy seguro.
#!/bin/sh
echo "Ingrese Nombre de Proceso : "
read -r PROCESO
if ps ax | grep -v grep | grep $PROCESO > /dev/null
then
InfoProceso=$(ps -aux | grep $PROCESO |awk '{print "User :" $1 "\tPID " $2 "\t\tPath Proceso : " $11}' | head -n 1 && ps -u $(id -un) xaopid,ppid,comm | grep $PROCESO | awk '{print "PPID " $2}'| head -n 1)
echo -e "\n$InfoProceso"
Subprocesos=$(ps -aux | grep $PROCESO |awk '{print "User :" $1 "\tPID " $2 "\t\tPath Proceso : " $11}' | head -n -1 | sed 1d)
echo -e "\nSub procesos "
echo "$Subprocesos"
else
echo "$PROCESO NO esta en ejecucion"
fi
O la forma corta con :
ps -u $(id -un) xaopid,ppid,comm | grep NOMBRE_PROCESO
-Identifica cuales son los tres procesos que utilicen mas tiempo de memoria en un período de diez segundos.
Aquí quizás sleep te ayude (es lo que entiendo cuando dice tiempo)
sleep 10; ps aux --width 30 --sort -rss | head -4
-Identifica cuales son los tres procesos pertenecientes al root que utilicen mas tiempo de procesador en un intervalo de treinta segundos.
Acá entiendo casi lo mismo :
sleep 30; ps aux --width 30 --sort -%cpu | grep root | head -4
Saludos.