Такая случилась историия: есть у меня процесс, видимый командой 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".
Кто бы мне объяснил такое поведение? Корректно ли оно?