Portál AbcLinuxu, 4. května 2025 02:14
vytuhnutí služby kvůli nefunkčnímu loggeru
To mi povídejte. Dneska jsem aktualizoval Fedoru-16 a když yum nainstaloval první balíček, tak se zasekl. Tak jsem ho zabil a znovu. Ukázalo se, že se zablokoval v send(2) nad socketem /dev/logger. V tu ránu se nedalo přihlásit přes SSH, nešlo udělat su, dokonce systemctl (nástroj pro ovládání systemd) dokázal rsyslogd zabít až na po páté. rsyslogd mezi tím spal v pthread_cond_wait(), takže se neobtěžoval číst protokol.
$ cat /sys/fs/cgroup/systemd/release_agent $ cat /sys/fs/cgroup/systemd/systemd-1/*.service/notify_on_release2/ /proc a /sys/fs/cgroup/systemd Prave cgroups umoznuje definovat cely strom procesu a systemd (a i admin systemu) ma pak pekny prehled o tom jake procesy jsou kde (v jake skupine). viz. treba
$ systemctl status dbus.service $ systemd-cgls
Vypadá to zajímavě. Nebylo by špatné, když už INIT systém řeší start služeb/demonu při startu systému, vložit do toho ještě funkčnost centrálního nastavení a startu aplikací při loginu.launchd to řeší, systemd se inspiroval u launchd => asi to systemd bude řešit taky (myslím, že jsem to i explicitně četl, ale nechci to teď hledat)
vim ~/.emacs
[Socket] #dovecot expects separate IPv4 and IPv6 sockets BindIPv6Only=ipv6-only ListenStream=0.0.0.0:143 ListenStream=[::]:143 ListenStream=0.0.0.0:993 ListenStream=[::]:993daemon potom vubec port neotvira, pripravi ho systemd, nastavi procesu promenne prostredi LISTEN_PID a LISTEN_FDS a "posle" ho demonovi s exec-em. demony pak nekonfigurujes pres jejich vlastni konfigurak ale pres konfiguracni soubory initu. vyhoda?
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.