Czy można interaktywnie pominąć limit czasu 90. w Systemd? Na przykład, kiedy czeka na udostępnienie dysku lub wylogowanie użytkownika? Wiem, że w końcu to się nie powiedzie, więc czy mogę to teraz zrobić? Nienawidzę patrzeć bezradnie na ekran.
Możesz ustawić TimeoutStopSpec=konkretną JEDNOSTKĘ na określoną wartość (w sekundach *), aby czekać. Możesz również ustawić na to, infinityw którym przypadku SIGKILL nigdy nie zostanie wysłany (niezalecane, ponieważ możesz skończyć z niekontrolowanymi usługami trudnymi do debugowania).
Ustaw DefaultTimeoutStopSec=wewnątrz /etc/systemd/system.conf(lub user.conf, lub w jednym z *.dkatalogów) na wartość domyślną, której TimeoutStopSpec=będą używać wszystkie JEDNOSTKI, które nie zostały określone. Głuchy dla tego ustawienia są lata 90., które zwykle widzisz.
Odnośniki do stron podręcznika:
man systemd.service dla TimeoutStopSpec=
man systemd-system.conf dla DefaultTimeoutStopSec=
* systemd akceptuje również specyfikacje czasu, np. „2min 3s”. Jest to szeroko opisane u mężczyzny.
To nie jest interaktywne. Kiedy systemd odlicza już lata 90., jest już za późno na dokonanie tych zmian i jestem zmuszony siedzieć bezradnie.
user7610
@JiriDanek - to dlatego, że systemd nie jest interaktywny, nie jest przeznaczony. Twój proces tty (w którym widzisz lata 90.) jest uruchamiany jako potomek init (sytemd), tzn. Proces pokazujący (getty) lata 90. jest dzieckiem procesu liczącego je (systemd). Ponadto systemd ignoruje większość sygnałów. Systemd nie ma być kontrolowany przez przypadkowego użytkownika przed tty (byłoby to ogromne ryzyko bezpieczeństwa).
grochmal
4
Jestem przede wszystkim użytkownikiem pulpitu, więc zazwyczaj postrzegam to inaczej. Pamiętasz drukarkę córki Torvaldsa ? Wiele niedociągnięć projektowych może być uzasadnionych względami bezpieczeństwa.
user7610
@JiriDanek - systemd nie stanowi problemu , byłby to prawdziwy wektor ataku. Jeśli możesz skierować prawidłowy sygnał we właściwym momencie, możesz (jako zwykły użytkownik) wyłączyć usługę systemową (np. SELinux). Wystarczy przejść do /etc/systemd/system.con i dodać DefaultTimeout = 3. Lub, lepiej, napraw wadliwą usługę. Fakt, że niektóre usługi zawsze zawodzą, nie jest złym projektem systemd, jest złym projektem osoby, która napisała plik jednostkowy.
grochmal
W moim konkretnym przypadku autor pliku jednostkowego jest niewinny. Właśnie zrobiłem literówkę podczas kopiowania i wklejania UUID dysku. Po prostu uznałem za irytujące, że muszę czekać całą minutę i pół, zanim systemd zrezygnował z montażu i pozwolił mi wejść do systemu i naprawić problem. Długi limit czasu ma tutaj sens. Z wyjątkiem sytuacji, gdy administrator wiedział, że nie.
Podobnie jak w przypadku innej odpowiedzi, nie jest to interaktywne. Kiedy systemd odlicza już lata 90., jest już za późno na dokonanie tych zmian i jestem zmuszony siedzieć bezradnie.
To niemożliwe. Systemd jest nieinteraktywny.
źródło
Możesz odkomentować w
/etc/systemd/system.conf
liniach:I zmień wartość na odpowiednią dla siebie.
źródło