Linux всегда отправляет перенаправление ICMP

В дополнении к ответу cjm Единственная Спецификация Unix определяет названную функцию vfork(). Та функция работает как ветвление, за исключением того, что разветвленный процесс имеет неопределенное поведение, если это делает что-нибудь кроме попытки, вызывающей функцию семейства должностных лиц или вызов _exit().

Таким образом в значительной степени единственное использование с определенным поведением:

pid_t ret = vfork();
if(ret == 0)
{
    exec(...);
    _exit(EXIT_FAILURE); //in case exec failed for any reason.
}

Таким образом, что делает vfork ? Это, недорогое fork. В implemenations без копии на записи получающийся процесс совместно использует пространство памяти с исходным процессом (следовательно неопределенное поведение). В реализациях с копией на записи, vfork разрешен быть идентичным fork(), так как реализации копии на записи быстры.

Существует также дополнительное posix_spawn функция (и a posix_spawnp функция), который может непосредственно создать новый процесс. (Также допустимо реализовать их с использованием вызова библиотеки fork и exec, и реализация в качестве примера обеспечивается.)

14
09.12.2012, 01:28
1 ответ

Правильная команда: echo 0 | tee /proc/sys/net/ipv4/conf/*/send_redirects
Поскольку Вы должны иметь 0 на 'всех' и на 'interface_name' для отключения его.

В /etc/sysctl.conf или подобный файл, необходимо установить 'все' + 'значение по умолчанию' (или 'все' +, 'интерфейс' кроме интерфейса не может уже существовать, когда этот файл обрабатывается).

14
27.01.2020, 19:51
  • 1
    Какой смысл "всего" каталога затем? У меня было неопределенное впечатление, оно перезапишет значения всех других записей? –  Elrond 12.06.2015, 16:07
  • 2
    @Elrond, all не перезаписывает, это делает битовые операции. См. этот ответ о all по сравнению с. default. send_redirects OR параметр, таким образом устанавливая all.send_redirects к 0 будет превзойден установкой интерфейса. –  Leif Arne Storset 07.02.2018, 18:46

Теги

Похожие вопросы