LINUX.ORG.RU

Страсти по execv


0

0

Такая случилась историия: есть у меня процесс, видимый командой ps:

 4980 pts/6    00:04:31 prog

Эта программа должна писать в файл "log" в бесконечном цикле "Hello!",
но процесс приостановлен, ничего не пишет.

Я компилирую и запускаю следующее:

#include <unistd.h>

int main() {
  if(fork()==0) {
    char * argv[] = {"prog",NULL};
    execv(argv[0], argv);
  }
  return 0;
}

Это отрабатывает очень быстро, а я вижу на диске файл "log" с
несколькими тысячами слов "Hello!".

На диске в текущей директории и в PATH нет исполняемого файла с
именем "prog".

Кто бы мне объяснил такое поведение? Корректно ли оно?



Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.