spamsink: (Default)
spamsink ([personal profile] spamsink) wrote2025-07-07 04:34 pm
Entry tags:

Загадка для юниксных программистов

Сделайте разумное предположение (educated guess), зачем бы нужно было рестартовать обычный пользовательский юниксный процесс, ничего не меняя в его аргументах или окружении.

// Необходимые инклюды
int main(int argc, char *argv[], char *envp[]) {
    // Объявление локальных переменных
    // Некоторые действия, не использующие и не меняющие argv и envp
    // fork не делается
    if (/* условие */)
        execve("/proc/self/exe", argv, envp);
    // Маловероятная неудача execve - досада, но не беда, можно продолжать

    // Далее - собственно функциональная часть программы
}

Post a comment in response:

This account has disabled anonymous posting.
If you don't have an account you can create one now.
HTML doesn't work in the subject.
More info about formatting