отменить команду dhclient eth0 в Linux

Слегка изменено для уничтожения процесса sleep, родительский PID которого равен $spid:

.
#! /bin/bash

function indent () { "$@" | sed 's/^/    /'; }

function sleeper () { sleep 1 && echo "Sleep complete."; }

function child () {
        sleeper &
        local spid=$!
        echo "Invoked sleeper." | grep "sleep"
        pkill -P "$spid" sleep
        echo "Done child."
}

indent child

Я полагаю, что проблема заключается в том, что фоновое задание во время выполнения sleepна самом деле не получает сигнал TERM, который вы ему отправляете, пока sleepне завершится. Приведенная выше команда pkillбудет сигнализировать процессу sleep, а не самому фоновому заданию.

1
12.10.2021, 07:18
1 ответ
  • Уничтожить клиент DHCP -:killall dhclient
  • Опустите карту:ifconfig eth0 down
  • Вручную укажите IP-адрес и маску сети для вашей сетевой карты и восстановите их:ifconfig eth0 1.2.3.4 netmask 255.255.255.0 up
  • Настройка маршрутизации:route add default gw 1.2.3.1
  • Настройка DNS:echo nameserver 8.8.8.8 > /etc/resolv.conf

(Это предполагает, что ваш IP-адрес 1.2.3.4, ваша сетевая маска 255.255.255.0(, то есть /24, ваш шлюз 1.2.3.1, и вы хотите использовать DNS-сервер -Google (8.8.8.8))

.

Редактировать:Я добавил несколько тестов. Также следует отметить, что в своем ответе я пропустил IPv6.

И если он по-прежнему не проходит проверку там, где он терпит неудачу, попробуйте выполнить следующие действия в указанном порядке:

  • ping 127.0.0.1-> Когда это не удается, все формы сети не работают или вы испортили конфигурацию брандмауэра.
  • ping 1.2.3.4-> Когда это не удается, ваша карта все еще не работает или вы не предоставили ей правильный IP-адрес
  • ping 1.2.3.1-> Если это не удается, ваша сетевая маска неверна или существуют другие проблемы между вами и первым маршрутизатором.
  • ping -4 google.com-> Если это не удается, DNS настроен неправильно.
1
12.10.2021, 09:36

Теги

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