A resposta de Chris funcionaria se o processo durasse muito tempo e você tivesse tempo de inspecioná-lo, mas se for um comando de curta duração, pode ser difícil capturá-lo enquanto o processo ainda está ativo.
Outra maneira de abordar isso é colocar um 'wrapper' no programa.
Digamos que o programa que está sendo chamado é /usr/bin/someprog
.
- Mover
/usr/bin/someprog
para/usr/bin/someprog.orig
. - Crie
/usr/bin/someprog
como um script como:
#!/bin/sh
echo "My pid: $$" >> /tmp/someprog.log
ps -ef --forest >> /tmp/someprog.log
exec /usr/bin/someprog.orig
- E, em seguida,
chmod a+x /usr/bin/someprog
Isso irá despejar uma árvore de processos e colocá-la em /tmp/someprog.log
. Você poderia então olhar para a árvore e descobrir o que está gerando.