system (), как правило, хороший способ, просто будьте осторожны, чтобы не вводить произвольные ненадежные значения в строку, которую вы выполняете.Например, если у вас есть веб-интерфейс, где с параметром padsize по умолчанию установлено значение 0, и кто-то вводит не число, а «0; rm -rf *;
», убедитесь, что вы не в конечном итоге позвонили «cdrecord padsize=0; rm -rf *; ...
».
Другая вещь, связанная с системой, заключается в том, что запуск второго отдельного процесса может быть медленнее - это может иметь значение, если вы запускаете эту программу сотни раз, и каждый раз она выполняет только несколько миллисекунд, но вв вашем случае накладные расходы на запуск уменьшаются вероятным временем выполнения cdrecord.