Сценарий запускается с использованием службы systemd до того, как завершение работы займет слишком много времени и не завершится

Не ответ на вопрос в его нынешнем виде, но почему бы не использовать инструменты моделирования для WLAN с потерями, которые уже доступны?

С помощью модуля mac80211_hwsimвы можете имитировать произвольное количество виртуальных интерфейсов WLAN, которые могут общаться друг с другом через «виртуальный эфир», и, кроме того, вы можете отслеживать передаваемые кадры. на дополнительном интерфейсе.

wmediumd основывается на этом и позволяет имитировать потерю и задержку кадров, так что вы можете увидеть, как ведут себя алгоритмы более высокого уровня. (Однако переворота битов нет ).

Что касается первоначального вопроса, я думаю, что здесь нечего делать, кроме как читать код ядра (много ). Кроме того, если вы перевернете бит, вам придется иметь дело с контрольными суммами на различных уровнях, которые могут либо исправить ошибку, либо просто отбросить кадр (, так что результат идентичен тому, что делает wmediumd ).

0
26.07.2020, 17:10
1 ответ

Я нашел способ, который мне подходит:

[Unit]
Description=Stop Service

[Service]
Type=oneshot
RemainAfterExit=true
ExecStart=/bin/true
ExecStop=/home/user/stop-service.sh
TimeoutStopSec=300

[Install]
WantedBy=multi-user.target

Согласно моим исследованиям, служба systemd по умолчанию имеет время ожидания 90 секунд для каждой службы, чтобы выполнить свою команду остановки (ExecStop )перед отправкой сигнала терминала. TimeoutStopSec=300 установит время ожидания на 5 минут для этой конкретной службы.

Если вы хотите изменить время ожидания по умолчанию, вы можете найти файл /etc/systemd/system.conf и изменить значение DefaultTimeoutStopSec, а затем перезагрузить демон с помощью

systemctl daemon-reload

для загрузки нового значения.

1
18.03.2021, 23:18

Теги

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