Sistema de chamada () do programa multithread

Estamos trabalhando em um aplicativo que consome memória multithread, escrito em C ++. Temos que executar muitos comandos shellscript / linux (e obter o código de retorno

Depois de ler issoartig entendemos claramente que seria uma má ideia usar system () em nosso context

Uma solução seria bifurcar-se após o início do programa e antes de criar qualquer thread, mas a comunicação com esse processo pode não ser fácil (soquete, tubo?

A segunda solução que consideramos pode consistir em um daemon dedicado escrito em python (usando xinetd?) Que seria capaz de processar nossas chamadas de sistem

Você já teve esse problema? Como você resolveu isso?

Nota: Aqui está um artigo mais completo que explica esse problema:http: //developers.sun.com/solaris/articles/subprocess/subprocess.htm Eles recomendam usar posix_spawn que usa vfork () em vez de fork () (usado no sistema ()

questionAnswers(3)

yourAnswerToTheQuestion