Existe um equivalente ao que a opção -Te -Udo trussutilitário Solaris faz no Linux.
Esses são para especificar uma chamada do sistema ( -T) ou função de biblioteca ( -U) que, quando chamada pelo aplicativo rastreado, faria com que ele parasse.
Ou, dito de outra forma, eu gostaria que qualquer processo iniciado por um aplicativo rastreado fosse interrompido (como se matado pelo SIGSTOP) assim que ele fizer uma chamada de sistema ou uma chamada de função de biblioteca compartilhada.
stracee ltraceno Linux fornecem muitos dos recursos do Solaris truss, mas eles não parecem estar fazendo isso.
Por exemplo:
truss -f -T open cmd
Seria assim, strace -f cmdexceto que, se o processo em execução cmdou qualquer de seus descendentes fizer uma openchamada do sistema, ele seria interrompido imediatamente (e eu posso retomar mais tarde, conforme minha conveniência)
Em alguns casos, eu poderia usar gdbos catch syscall, mas estava procurando uma solução que pudesse seguir os garfos de maneira conveniente e continuar fazendo isso para todos os processos bifurcados e continuar fazendo isso mesmo depois de execves.
Parece que me lembro de algum utilitário que oferece a mesma funcionalidade, mesmo uma (ou opções para esse mesmo utilitário) para aplicativos de etapa única entre algumas ocorrências de algum syscall remotamente assim, mas minha memória está com uma falha de memória, não posso nem ter certeza isso foi no Linux.
follow-exec-mode), estou experimentando isso. Não responde estritamente à pergunta, mas pode ser bom o suficiente para o que eu preciso.
trussmanual do Solaris .