Вызов system () из многопоточной программы

Мы работаем над многопоточным приложением, потребляющим память, написанным на C ++. Мы должны выполнить множество команд shellscript / linux (и получить код возврата).

Прочитав этостатья мы ясно поняли, что было бы плохой идеей использовать system () в нашем контексте.

Решением может быть разветвление после запуска программы и перед созданием каких-либо потоков, но связь с этим процессом может быть непростой (сокет, канал?).

Второе решение, которое мы рассмотрели, может состоять из специального демона, написанного на python (с использованием xinetd?), Который мог бы обрабатывать наши системные вызовы.

У тебя когда-нибудь была такая проблема? Как ты это решил?

Примечание: вот более полная статья, которая объясняет эту проблему:http://developers.sun.com/solaris/articles/subprocess/subprocess.html Они рекомендуют использовать posix_spawn, который использует vfork () вместо fork () (используется в system ()).

Ответы на вопрос(3)

Ваш ответ на вопрос