execl
является одной из нескольких функций (exec*
), которые позволяют заменить текущий код вашего процесса тем, который предоставлен файлом (исполняемым), указанным в качестве первого аргумента. Все пространство вашего процесса заменено новым ... Другие аргументы служат в качестве аргументов для команды. Процесс - это своего рода системная структура, контролирующая выполнение некоторого кода. exec
позволяет мутировать этот код.
В случае exec
преуспеть, тогда старый код забыли, вы никогда не сможете вернуться в него. Это не вызов функции.
В случае, если exec
не работает, выполнение продолжается, и в вашем случае производится вызов _exit
. _exit
- это системная функция, предназначенная для прекращения выполнения текущего процесса, что приводит к его смерти. exit
- это C-функция, которая делает то же самое на уровне C, грубо закрывая C-потоки и вызывая _exit
.
значение при условии (127
) используются для передачи некоторой информации о прекращении этого процесса к процессу, который начал его (процесс запускается с использованием fork
, вызов, который клонов процесс),. Значение может быть любым восьмибитным значением, но 0 используется для обозначения корректного завершения процесса и любого другого значения, отличного от 0, для обозначения процесса, который заканчивается в некотором ненормальном состоянии.
какой язык/ОС/окружающая среда является встроенной функцией 'excel'? (Самый важный вопрос). '_exit (127)' будет стандартным кодом возврата * nix, чтобы указать «команда не найдена». Удачи. – shellter
Не существует такой вещи, как «язык программирования UNIX». Вы имеете в виду C? (И вы, возможно, неправильно читаете 'execl' или' execle'?) – jwodder