Можно ли интерактивно пропустить тайм-аут 90-х в systemd? Например, когда он ожидает, когда диск станет доступным или пользователь выйдет из системы? Я знаю, что это в конечном итоге потерпит неудачу, так что я могу просто сделать это сейчас? Я ненавижу просто беспомощно пялиться на экран.
Вы можете установить TimeoutStopSpec=для конкретного UNIT определенное значение (в секундах *) для ожидания. Вы также можете установить его, и infinityв этом случае SIGKILL никогда не будет отправляться (не рекомендуется, так как у вас могут быть запущенные службы, которые трудно отладить).
Установите DefaultTimeoutStopSec=внутри /etc/systemd/system.conf(или user.conf, или в одном из *.dкаталогов) значение по умолчанию, которое TimeoutStopSpec=будут использовать все UNIT, которые не указаны. По умолчанию это значение 90-х годов, которое вы обычно видите.
Ссылки на справочную страницу:
man systemd.service за TimeoutStopSpec=
man systemd-system.conf за DefaultTimeoutStopSec=
* systemd также принимает спецификации времени, например, "2min 3s". Это подробно описано в человеке.
Это не интерактивно. Когда systemd уже ведет обратный отсчет 90-х, уже слишком поздно вносить эти изменения, и я вынужден сидеть, хотя и беспомощно.
user7610 16.09.16
@JiriDanek - потому что systemd не интерактивен, он не предназначен для этого. Ваш tty-процесс (в котором вы видите 90-е) запускается как дочерний элемент init (sytemd), то есть процесс, показывающий (getty) 90-е, является дочерним по отношению к процессу, считающему их (systemd). Более того, systemd игнорирует большинство сигналов. systemd не предназначен для управления случайным пользователем перед tty (это было бы огромной угрозой безопасности).
Горький
4
Я в основном пользователь настольного компьютера, поэтому я склонен смотреть на вещи по-другому. Помните принтер дочери Торвальдса ? Многие недостатки дизайна могут быть оправданы соображениями безопасности.
user7610 16.09.16
@JiriDanek - systemd не является проблемой , это был бы настоящий вектор атаки. Если бы вы могли направить правильный сигнал в нужный момент, вы могли бы (как обычный пользователь) отключить системную службу (например, SELinux). Просто зайдите в /etc/systemd/system.con и добавьте DefaultTimeout = 3. Или, лучше, исправить службу, которая не работает. Тот факт, что некоторые службы всегда терпят неудачу, - это не плохой дизайн systemd, это плохой дизайн человека, который написал файл модуля.
горький
В моем конкретном случае, автор файла модуля невиновен. Я только что сделал опечатку при копировании-вставке диска UUID. Я просто находил раздражающим необходимость ждать целую минуту и половину, прежде чем systemd отказался от монтирования, и позволил мне войти в систему и решить проблему. Длинный тайм-аут на самом деле имеет здесь смысл. За исключением случаев, когда я админ знаю, что нет.
user7610 16.09.16
7
Это невозможно. Systemd не является интерактивным.
Так же, как и другой ответ, это не интерактивно. Когда systemd уже ведет обратный отсчет 90-х, уже слишком поздно вносить эти изменения, и я вынужден сидеть, хотя и беспомощно.
Это невозможно. Systemd не является интерактивным.
источник
Вы можете раскомментировать в
/etc/systemd/system.conf
строках:И измените значение на то, что вы считаете целесообразным.
источник