Aqui está um script de shell que imprime a saída de ps
iniciando no processo fornecido como argumento e recursivo nos processos filhos. O script está com falta de verificação de erros, e você pode querer adicionar algumas opções para ps
dependendo da saída desejada.
#!/bin/sh
printps() {
if [ $# -gt 0 ]
then
ps --no-headers $*
for p in $*; do
printps $(cat /proc/$p/task/$p/children)
done
fi
}
printps $1