Исправление firkax, (текущая версия) :
Если перез командой написать exec(«exec ffmreg») то оболочка не создается и все нормально завершается. Как бы такое сделать по умолчанию
Создаётся. Просто шелл-команда exec означает «заменить оболочку на новый процесс». То есть пхп тут ни при чём, это оболочка видит что написано exec и запускает ffmpeg не дочерним процессом а вместо себя в своём pid-е.
А так, если ты хочешь запустить командную строку - она всегда будет запускаться через шелл, других вариантов нет и не было. Без шелла можно (теоретически, а как это в пхп - не знаю) запустить программу передав отдельными строками полный путь к её бинарнику и список аргументов (по 1 строке на аргумент). Если же функция принимает одну строку на всё - то там точно шелл внутри.
Исходная версия firkax, :
Если перез командой написать exec(«exec ffmreg») то оболочка не создается и все нормально завершается. Как бы такое сделать по умолчанию
Создаётся. Просто шелл-команда exec означает «заменить оболочку на новый процесс». То есть пхп тут ни при чём, это оболочка видит что написано exec и запускает ffmpeg не дочерним процессом а вместо себя в своём pid-е.