Встроенный вызов Linux с использованием системы - PullRequest
1 голос
/ 14 июня 2010

У меня проблема с использованием системного ("команда") вызова в C на встроенной системе в Linux. Вызов приложения работает нормально в командной строке, но при вызове в скомпилированном сценарии cgi с использованием системной команды он мучительно медленный. Любая помощь приветствуется?

1 Ответ

2 голосов
/ 14 июня 2010

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

Если для того, что вы делаете, на самом деле не требуется оболочка, вместо system() попробуйте использовать fork() для создания дочернего элемента.процесс, а затем exec() для запуска необходимого исполняемого файла.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...