я пытаюсь вызвать wget из программы c++ в unix. Я хочу вызвать его внутри дочернего процесса после использования fork, мне нужно использовать exec, а не system(). что я сделал
pid_t pID = fork();
if (pID == 0)
{
execl("/bin/wget","wget", "http://google.gr",(char*)0);
}
и ожидайте, что html-файл будет в той же папке, что и исполняемый файл, но этого не происходит, как мне правильно это сделать?
/bin
; иногда это может быть в/usr/bin
,/usr/local/bin
и т. д.; и пользователь, запускающий ваше программное обеспечение, может иметь собственный wget, который он хочет использовать в своем локальном PATH перед этим. Просто вызов с"wget"
в первом аргументе приведет к поиску PATH, так что двоичный файл будет найден, где бы он ни находился. - person Charles Duffy   schedule 22.05.2012