Одна проблема состоит в том, что
if (process = 0){
должен читать
if (process == 0){
В противном случае вы присваиваете ноль process
и только вызываете execl
, еслиresult
не равен нулю (то есть никогда).
Кроме того, вы пытаетесь выполнить что-то под названием process.c
.Нет сомнений, что можно иметь исполняемый файл с именем process.c
.Однако условно имена, заканчивающиеся на .c
, даются файлам исходного кода C.Если process.c
действительно является файлом C, вам нужно сначала скомпилировать и связать его.
После того, как вы создали исполняемый файл, вам нужно либо поместить его где-нибудь в $PATH
, либо указать его полный путь кexecle()
.Во многих средах Unix размещения его в текущем каталоге будет недостаточно.
Наконец, неясно, что означает n
в вызове execle()
, но имя указывает на числовую переменную.Вы должны убедиться, что это строка, а не, например, целое число.