FreeSlave
Как проверить флаг исполняемости?
Ну то есть понятно, stat, смотрим st_mode, а что именно смотреть? S_IXUSR, S_IXGRP или S_IXOTH? Я не очень ориентируюсь в группах.
XaeroX, но вылетает-то не из-за того, что проверки нет. Она и так есть в execve, который возвращает EACCESS в таких случаях. Так что на предмет вылета советую проверить логику кода, возможно, там после execve что-то не так.
Другое дело, что оповещать об ошибках execv родительскую программу не так-то просто (по идее можно через пайп что-нибудь отослать). Заранее проверить на access, конечно, не помешает, но execve может зафейлится не только из-за отсутствия прав.
FreeSlave
Логика совершенно стандартна: fork/execve. Оповещений никаких нет, да и к чему они, если процесс уже раздвоился? Как может вылетать вторая ветка форка при ошибке в первой - для меня загадка.
FreeSlave
Нету ничего. В консоль джека пишет не только джек, между прочим. Туда пишет и кьют, и система (ибо туда stderr направлен), и чёрт лысый. Это же линукс.
Или ты про Compile Process Window? Перед форком туда присоединяется pipe, так что суть не меняется.