abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    včera 23:33 | Nová verze

    Společnost comma.ai po třech letech od vydání verze 0.9 vydala novou verzi 0.10 open source pokročilého asistenčního systému pro řidiče openpilot (Wikipedie). Zdrojové kódy jsou k dispozici na GitHubu.

    Ladislav Hagara | Komentářů: 0
    včera 21:55 | Nová verze Ladislav Hagara | Komentářů: 0
    včera 14:11 | IT novinky

    Řada vestavěných počítačových desek a vývojových platforem NVIDIA Jetson se rozrostla o NVIDIA Jetson Thor. Ve srovnání se svým předchůdcem NVIDIA Jetson Orin nabízí 7,5krát vyšší výpočetní výkon umělé inteligence a 3,5krát vyšší energetickou účinnost. Softwarový stack NVIDIA JetPack 7 je založen na Ubuntu 24.04 LTS.

    Ladislav Hagara | Komentářů: 3
    včera 00:44 | Bezpečnostní upozornění

    Národní úřad pro kybernetickou a informační bezpečnost (NÚKIB) spolu s NSA a dalšími americkými úřady upozorňuje (en) na čínského aktéra Salt Typhoon, který kompromituje sítě po celém světě.

    Ladislav Hagara | Komentářů: 22
    27.8. 16:33 | IT novinky

    Společnost Framework Computer představila (YouTube) nový výkonnější Framework Laptop 16. Rozhodnou se lze například pro procesor Ryzen AI 9 HX 370 a grafickou kartu NVIDIA GeForce RTX 5070.

    Ladislav Hagara | Komentářů: 1
    27.8. 14:22 | IT novinky

    Google oznamuje, že na „certifikovaných“ zařízeních s Androidem omezí instalaci aplikací (včetně „sideloadingu“) tak, že bude vyžadovat, aby aplikace byly podepsány centrálně registrovanými vývojáři s ověřenou identitou. Tato politika bude implementována během roku 2026 ve vybraných zemích (jihovýchodní Asie, Brazílie) a od roku 2027 celosvětově.

    Fluttershy, yay! | Komentářů: 7
    27.8. 13:11 | Nová verze

    Byla vydána nová verze 21.1.0, tj. první stabilní verze z nové řady 21.1.x, překladačové infrastruktury LLVM (Wikipedie). Přehled novinek v poznámkách k vydání: LLVM, Clang, LLD, Extra Clang Tools a Libc++.

    Ladislav Hagara | Komentářů: 0
    27.8. 05:11 | Komunita

    Alyssa Anne Rosenzweig v příspěvku na svém blogu oznámila, že opustila Asahi Linux a nastoupila do Intelu. Místo Apple M1 a M2 se bude věnovat architektuře Intel Xe-HPG.

    Ladislav Hagara | Komentářů: 18
    26.8. 12:55 | IT novinky

    EU chce (pořád) skenovat soukromé zprávy a fotografie. Návrh "Chat Control" by nařídil skenování všech soukromých digitálních komunikací, včetně šifrovaných zpráv a fotografií.

    Ladislav Hagara | Komentářů: 71
    26.8. 12:11 | Nová verze

    Byly publikovány fotografie a všechny videozáznamy z Python konference PyCon US 2025 proběhlé v květnu.

    Ladislav Hagara | Komentářů: 0
    Pro otevření více webových stránek ve webovém prohlížečí používám
     (79%)
     (9%)
     (3%)
     (4%)
     (5%)
     (1%)
    Celkem 104 hlasů
     Komentářů: 9, poslední včera 11:53
    Rozcestník

    Dotaz: Systemd suspend - jak přerušit proces?

    7.2.2017 21:27 JanM | skóre: 28
    Systemd suspend - jak přerušit proces?
    Přečteno: 587×

    Zdravím, trochu předělávám HTPC na Lubuntu 16.04 + KODI + TVHeadEnd a marně hledám řešení na následující problém.

    Rád bych, aby KODI v idle stavu (je k tomu nějaký add-on, který sleduje stav TVHeadEndu) uspal počítač. Bohužel mu nejde nadefinovat, jakým příkazem jej má uspat, asi používá dbus + polkit + kdovíco v rámci standardního Ubuntu.

    V každém případě to vypadá, že suspend to RAM z KODI vede ke spuštění "systemctl suspend", který skončí zatuhnutím počítače (blikající kurzor konzole na černé obrazovce).

    Dobrá zpráva je, že staré dobré "pm-suspend" stále funguje, takže by mohlo stačit vzít mé /etc/pm/sleep.d/ skripty a navěsit na systemd. Po pročtení https://wiki.archlinux.org/index.php/Power_management#Sleep_hooks jsem pár z možností vyzkoušel, jenže ouha:

    service se při systemctl suspend spustí, systemd však na nic nečeká a pokračuje v uspávání bez ohledu na _výsledek_ mého skriptu.

    [Unit]
    Description=Local system suspend actions
    Before=sleep.target
    
    [Service]
    Type=simple
    ExecStart=/etc/pm/sleep.d/01_kodi suspend
    
    [Install]
    WantedBy=sleep.target

    Jak to tak chápu, tak volba "Before=" se postará pouze o _spuštění_ mého skriptu. Pokud včas selže (exit 1 hned na začátku skriptu), tak se to objeví v logu, ale suspend běží dál.

    V praxi však ani nestačí případně selhat (ukončuje nějaké služby a odstraňuje USB moduly), počítač se dříve dostane v procesu uspávání do bodu zamrznutí... Čili "hook" poměrně k ničemu.

    Poradíte někdo, jak donutit systemd, aby nejprve spustil můj skript a poté případně pokračoval v uspávání počítače?


    Řešení dotazu:


    Odpovědi

    7.2.2017 21:32 JanM | skóre: 28
    Rozbalit Rozbalit vše Re: Systemd suspend - jak přerušit proces?
    Jen dodám, že dříve jsem to řešil samostatným skriptem spouštěným v pětiminutovém intervalu, který sledoval stav MythTV backendu, KODI, připojených uživatelů, SMB sdílení, atd. a byl-li šťasten, tak uspal počítač.

    Byl v tom trochu zmatek, raději bych to řešil "jednoduše" z KODI...
    k3dAR avatar 7.2.2017 23:10 k3dAR | skóre: 63
    Rozbalit Rozbalit vše Re: Systemd suspend - jak přerušit proces?
    kdyz uz mas na HTPC vyklestene Lubuntu, co vyklestit i systemd? *buntu 16.04 ma pri startu v grub advanced volbu i jako upstart ve vychozi instalaci, dela to jen pouzitim kernel parametru: init=/sbin/upstart
    porad nemam telo, ale uz mam hlavu... nobody
    8.2.2017 07:23 JanM | skóre: 28
    Rozbalit Rozbalit vše Re: Systemd suspend - jak přerušit proces?
    Zajímavá informace, ale tomu bych se raději vyhnul. Systemd používám tak jako tak (Arch Linux) a do budoucna je upstart neperspektivní...
    k3dAR avatar 8.2.2017 13:34 k3dAR | skóre: 63
    Rozbalit Rozbalit vše Re: Systemd suspend - jak přerušit proces?
    btw: s 16.04 to mas perspektivni do roku 2021 ;)
    porad nemam telo, ale uz mam hlavu... nobody
    8.2.2017 07:26 JanM | skóre: 28
    Rozbalit Rozbalit vše Re: Systemd suspend - jak přerušit proces?
    Tak hlavní otázka vyřešena, nutno použít /lib/systemd/system-sleep drop-in folder: pak proces uspávání počká na úplné vykonání skriptu.

    Nicméně objevila se nová otázka: jak proces uspávání přerušit, pokud skript skončí chybovým kódem (zatím je to ignorováno a počítač zatuhne...).
    8.2.2017 13:50 Peter Golis | skóre: 65 | blog: Bežné záležitosti | Bratislava
    Rozbalit Rozbalit vše Re: Systemd suspend - jak přerušit proces?
    Síce si neviem predstaviť dôvod na uspávanie HTPC, ale to nevadí. Predpokladám že ten HTPC ovládaš diaľkovým alebo klávesnicou. Nemôžeš si namapovať ten pm-suspend (alebo echo disk > /sys/power/state) na klávesu vypínania?
    8.2.2017 19:50 JanM | skóre: 28
    Rozbalit Rozbalit vše Re: Systemd suspend - jak přerušit proces?
    To neodpovídá mému využití - počítač slouží i jako NAS (wake-on-demand) a DVR (wake-on-alarm), takže se poté musí sám i vypnout. Nehledě na to, že naprostá většina spotřebičů se vypíná po čase sama, tak proč by to nemělo umět HTPC.

    V minulosti jsem to řešil přes MythTV, ve kterém lze všechny skripty nadefinovat. Ale byl pěkný opruz to vyladit a pospojovat komponenty (MythTV BE a Kodi FE + ostatní).

    Kodi má nastavení suspendu při idle (vč. vazby na TVHeadEnd) v sobě, stačí mi dodělat jeden skript na hlídání ostatních věcí (SSH, SMB) a nějak ho naroubovat na mechanismus vypínání KODI.

    P.S. Původně jsem měl v plánu tu extra kontrolu před vypnutím provádět až při "systemctl suspend", ale to už evidentně není cesty zpět (ten příkaz nedělá nic jiného, než echo blabla > /sys/disk/state a /sys/power/state, jen před tím spustí pár hooks).
    Řešení 1× (JanM (tazatel))
    10.2.2017 06:30 JanM | skóre: 28
    Rozbalit Rozbalit vše Re: Systemd suspend - jak přerušit proces?

    Tak jen pro úplnost doplním:

     

    • jak zastavit proces uspávání po 'systemctl suspend' jsem nezjistil;
    • moji situaci nakonec vyřešily doplňky Kodi: service.sleepy.watchdog a service.tvh.manager. Ten první umí po definované době nečinnosti spustit jiný doplněk Kodi a ten druhý udělá zbytek práce (zkontroluje TVHeadEnd, zda nenahrává; otevřené porty, zda není někdo vzdáleně připojen; uloží RTC alarm a spustí standardní uspání počítače).
      Podobně by to šlo řešit i přes Kodi Callbacks, tam lze vnutit i externí skripty, pokud by funkce tvh.manageru nestačily.
    Nicméně, to že v případě selhání hooks pro 'systemctl suspend' nedojde k přerušení uspávání, není nic moc, neb v mém případě počítač zatuhne a už s ním hne jen fyzické násílí (hard-reset).

     

    14.2.2017 18:12 j
    Rozbalit Rozbalit vše Re: Systemd suspend - jak přerušit proces?
    Bez polozit kytku na nahrobek potteringovi ... shit, on ho jeste nikdo nezabil?
    13.2.2017 08:08 JanM | skóre: 28
    Rozbalit Rozbalit vše Re: Systemd suspend - jak přerušit proces?
    Pro úplnost jen doplním, že důvod, proč systemd nepočkal na ukončení uvedeného skriptu byl ten, že "Type=simple" (ExecStart se jen "spustí" a na nic se nečeká) namísto "Type=Oneshot" (systemd čeká i na skončení skriptu v ExecStart).

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.