execl () возвращает `не может открыть или проанализировать ошибку аргумента`

У меня есть этот код для запуска программы с использованием execl (), и я получаю эту ошибку:

Cannot open or parse ' arg 3'.

И, когда я удаляю аргумент 3, тогда я получаю ту же ошибку для аргумента 2, любая идея?

Я отлаживал и, по-видимому, в первый раз _pid больше 0, почему это возможно?

int down[2], up[2];

pipe(down);   // creates pipe - [0] is for reading, [1] for writing
pipe(up);

pid_t _pid = fork();

if (_pid < 0)
exit(1);if (_pid == 0)
{
close(down[1]);
close(up[0]);

dup2(down[0], 0);
dup2(up[1], 1);

execl(cmd_line, cmd_line, "arg 1", "arg 2", "arg 3", NULL);

_exit(1);
}// the rest of this fn is executed by the parent only

close(down[0]);
close(up[1]);
_down = down[1];
_up = up[0];

_reader_thd = new Thread(reader_wrapper, this);

0

Решение

Больше похоже на то, что вы выполняете, не может открыть или проанализировать ваши аргументы.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]