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í
×
dnes 03:00 | Komunita

Na OpenPOWER Summitu bylo oznámeno, že OpenPOWER Foundation – včetně POWER Instruction Set Architecture (ISA) a klíčových hardwarových referenčních návrhů – Open Coherent Accelerator Processor Interface (OpenCAPI) a Open Memory Interface (OMI) – bude začleněna pod Linux Foundation.

Ladislav Hagara | Komentářů: 0
včera 16:00 | Komunita

MojeFedora.cz informuje, že Fedora schválila konec 32 bitových repozitářů Modular a Everything. I nadále by měly být zachované multilib balíčky, takže kompatibilita s 32bitovým softwarem nebude ohrožená.

Ladislav Hagara | Komentářů: 0
včera 13:00 | Komunita

Konference LinuxDays 2019 proběhne o víkendu 5. a 6. října v Praze v Dejvicích v prostorách FIT ČVUT. Konference OpenAlt 2019 proběhne o víkendu 2. a 3. listopadu na FIT VUT v Brně. Přihlaste svou přednášku nebo workshop (LinuxDays, OpenAlt). Upozorněte známé. LinuxDays CFP končí již v pondělí 26. srpna v 23:59.

Ladislav Hagara | Komentářů: 0
včera 11:33 | Zajímavý software

Článek na Opensource.com představuje nástroj gocryptfs pro šifrování souborů. Gocryptfs využívá FUSE, stejně jako například EncFS. Naprogramovaný je v programovacím jazyce Go. Porovnání s podobnými šifrovacími nástroji v tabulce. Jako GUI pro gocryptfs lze použít SiriKali.

Ladislav Hagara | Komentářů: 0
včera 06:00 | Zajímavý projekt

Na Humble Bundle byla spuštěna akce Humble Book Bundle: Python Programming by No Starch Press. Za 1 dolar a více lze koupit 5 elektronických knih, za 8 dolarů a více lze koupit 10 elektronických knih a za 15 dolarů a více lze koupit 14 elektronických knih věnovaných programovacímu jazyku Python od nakladatelství No Starch Press. Peníze lze libovolně rozdělit mezi No Starch Press, Humble Bundle a neziskové organizace The No Starch Press Foundation a Python Software Foundation.

Ladislav Hagara | Komentářů: 0
19.8. 20:33 | Nová verze

Byla vydána nová verze 3.0.8 multiplatformního multimediálního přehrávače VLC (Wikipedie). Jedná se o minor verzi řešící několik regresí a opravující 13 bezpečnostních chyb.

Ladislav Hagara | Komentářů: 1
19.8. 06:00 | Pozvánky

Srpnový pražský sraz spolku OpenAlt se koná již tento čtvrtek – 22. 8. 2019 od 18:00 v Radegastovně Perón (Stroupežnického 20, Praha 5). Tématem bude jako obvykle svobodný software a hardware. A pokud vás zajímá bezpečnost bezdrátových klávesnic a myší (útok MouseJack a spol.) a nějaké takové zařízení máte, vezměte ho sebou – trochu ho potrápíme o ověříme jeho bezpečnost.

xkucf03 | Komentářů: 3
18.8. 16:33 | Nová verze

David Heinemeier Hansson oznámil vydání nové major verze 6.0 frameworku pro vývoj webových aplikací Ruby on Rails (Wikipedie). Přehled novinek v příspěvku na blogu a v poznámkách k vydání. Přispělo 801 vývojářů.

Ladislav Hagara | Komentářů: 13
17.8. 18:11 | Nová verze

Byla vydána verze 2.23.0 distribuovaného systému správy verzí Git. Přispělo 77 vývojářů, z toho 26 nových. Přehled novinek v poznámkách k vydání nebo v příspěvku na blogu GitHubu.

Ladislav Hagara | Komentářů: 8
17.8. 13:33 | Komunita

Nadace Raspberry Pi na svém blogu informuje o vydání Scratch 3 Desktopu pro Raspbian na Raspberry Pi. Verze 3 výukového vizuálního programovacího jazyka Scratch byla vydána v lednu letošního roku. Offline Scratch Desktop byl ale dosud dostupný pouze pro Windows a macOS.

Ladislav Hagara | Komentářů: 2
Používáte ještě 32bitový software na PC?
 (20%)
 (15%)
 (17%)
 (43%)
 (6%)
 (29%)
Celkem 442 hlasů
 Komentářů: 36, poslední 18.8. 21:46
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: 456×

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: 56
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: 56
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: 58 | 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.