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 19:44 | Zajímavý článek

    Před 32 lety, 6. června 1993, byl spuštěn první český WWW server (ještě pod TLD .cs), pro potřeby fyziků zabývajících se problematikou vysokých energií.

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

    Střílečku Borderlands 2 lze v rámci výprodeje série Borderlands na Steamu získat zdarma napořád, když aktivaci provedete do 8. června 19:00.

    Ladislav Hagara | Komentářů: 7
    včera 15:11 | Nová verze

    Byla vydána nová verze 2.22 svobodného video editoru Flowblade (GitHub, Wikipedie). Přehled novinek v poznámkách k vydání. Videoukázky funkcí Flowblade na Vimeu. Instalovat lze také z Flathubu.

    Ladislav Hagara | Komentářů: 0
    5.6. 15:00 | Komunita

    Canonical Launchpad vypíná systém správy verzí Bazaar. Vývojáři mohou své repozitáře do 1. září přemigrovat na Git.

    Ladislav Hagara | Komentářů: 7
    5.6. 13:22 | Nová verze

    Byla vydána nová verze 2.53.21 svobodného multiplatformního balíku internetových aplikací SeaMonkey (Wikipedie). Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 3
    5.6. 12:33 | Komunita Ladislav Hagara | Komentářů: 20
    5.6. 11:22 | Komunita

    Na Indiegogo byla spuštěna kampaň na podporu linuxového telefonu Liberux NEXX s osmijádrovým procesorem Rockchip RK3588S, 32 GB LPDDR4x RAM a 6.34″ 2400×1080 OLED displejem. Cena telefonu je 1 310 eur.

    Ladislav Hagara | Komentářů: 5
    5.6. 11:11 | Komunita

    Miro Hrončok vyhrál volby do Fedora Council. Mezi sedmi kandidáty, kteří se ucházeli o dvě křesla, nakonec získal nejvíce hlasů - 1089. Česká komunita má tak po delší době opět zástupce v nejvyšším orgánu Fedory.

    Ladislav Hagara | Komentářů: 0
    5.6. 04:33 | Zajímavý software

    Redox OS (Wikipedie), tj. mikrokernelový unixový operační systém naprogramovaný v programovacím jazyce Rust, nově podporuje X11 a GTK 3.

    Ladislav Hagara | Komentářů: 0
    5.6. 02:55 | IT novinky

    Dnes po celém světě startuje prodej herní konzole Nintendo Switch 2.

    Ladislav Hagara | Komentářů: 10
    Jaký je váš oblíbený skriptovací jazyk?
     (55%)
     (33%)
     (7%)
     (2%)
     (0%)
     (0%)
     (3%)
    Celkem 221 hlasů
     Komentářů: 14, poslední 2.6. 08:30
    Rozcestník

    Dotaz: Systemd.timer: pythonovy skript nejevi aktivitu

    24.11.2020 12:01 zdenek2008 | skóre: 26
    Systemd.timer: pythonovy skript nejevi aktivitu
    Přečteno: 307×
    Na Debianu 10 chci pravidelne spoustet prikazy pomoci systemd.timer. Nektere se normalne provedou, napr. "mpv nejaka_nahravka.mp3", "gdmp", apod. ale je problem u vetsiny pythonovych a bash skriptu. Nektere funguji, napr. takove co oteviraji GTK3 gui, ale u vetsiny se proste nestane nic. Systemdctl ale vypise ze normalne probihaji, pokud spravne rozumim. Prijde mi to tak, ze se asi vykonaji, ale vysledek jejich cinnosti konci nekde mimo. Prikazy i skripty normalne funguji pokud je spoustim primo:
    abuser@comp:~$ /usr/bin/python3 /home/abuser/rss.py >> /home/abuser/rss_vystup.txt 2> /home/abuser/rss_chyby.txt
    abuser@comp:~$ systemctl --user daemon-reload
    abuser@comp:~$ systemctl --user status aktuality.service
    ● aktuality.service - Stahuje aktualni informace z ruznych webu
       Loaded: loaded (/home/abuser/.config/systemd/user/aktuality.service; enabled; vendor preset: enab
       Active: inactive (dead) since Tue 2020-11-24 09:16:23 GMT; 2min 48s ago
     Main PID: 1766 (code=exited, status=0/SUCCESS)
    abuser@comp:~$ systemctl --user start aktuality.service
    abuser@comp:~$ systemctl --user status aktuality.service
    ● aktuality.service - Stahuje aktualni informace z ruznych webu
       Loaded: loaded (/home/abuser/.config/systemd/user/aktuality.service; enabled; vendor preset: enab
       Active: active (running) since Tue 2020-11-24 09:22:54 GMT; 3ms ago
     Main PID: 1810 ((python3))
       CGroup: /user.slice/user-1000.slice/user@1000.service/aktuality.service
               └─1810 (python3)
    
    Toto je aktuality.service:
    [Unit]
    Description=Stahuje aktualni informace z ruznych webu
    Wants=aktuality.timer
    
    [Service]
    Type=simple
    ExecStart=/usr/bin/python3 /home/abuser/rss.py >> /home/abuser/rss_vystup.txt 2> /home/abuser/rss_chyby.txt
    
    [Install]
    WantedBy=default.target
    
    A toto aktuality.timer:
    [Unit]
    Description=Stahuje aktualni informace z ruznych webu kazdou minutu
    RefuseManualStart=no        # Allow manual starts
    RefuseManualStop=no         # Allow manual stops
    
    [Timer]
    # Execute job if it missed a run due to machine being off
    Persistent=true
    # Run 120 seconds after boot for the first time
    OnBootSec=120
    # Run every 1 minute thereafter
    OnUnitActiveSec=60
    # File describing job to execute
    Unit=aktuality.service
    
    [Install]
    WantedBy=timers.target
    
    (jsou v domovskem adresari, .config/systemd/user)

    Jeste pro uplnost toto normalne funguje spustene samostatne, ale ne ze systemd:
    #!/usr/bin/python3
    # -*- coding: utf-8 -*-
    
    import feedparser
    #import webbrowser
    import pprint
    
    feed = feedparser.parse("nejake URL")
    
    pprint.pprint(feed)
    
    # feed_title = feed['feed']['title']  # NOT VALID
    feed_entries = feed.entries
    
    for entry in feed.entries:
    
        article_title = entry.title
        article_link = entry.link
        article_published_at = entry.published # Unicode string
        article_published_at_parsed = entry.published_parsed # Time object
        # article_author = entry.author  DOES NOT EXIST
        content = entry.summary
        # article_tags = entry.tags  DOES NOT EXIST
    
    
        #print ("{}[{}]".format(article_title, article_link))
        #print ("Published at {}".format(article_published_at))
        # print ("Published by {}".format(article_author)) 
        #print("Content {}".format(content))
        # print("category{}".format(article_tags))
    
    
    Nemeli byste nekdo nejake napady, co s tim? Kdyztak predem dekuji za pripadne tipy.

    Řešení dotazu:


    Odpovědi

    24.11.2020 12:26 X
    Rozbalit Rozbalit vše Re: Systemd.timer: pythonovy skript nejevi aktivitu
    ExecStart=/usr/bin/python3 /home/abuser/rss.py >> /home/abuser/rss_vystup.txt 2> /home/abuser/rss_chyby.txt
    WorkingDirectory=/home/abuser
    
    24.11.2020 12:50 zdenek2008 | skóre: 26
    Rozbalit Rozbalit vše Re: Systemd.timer: pythonovy skript nejevi aktivitu
    Diky, radek pridan, ale zatim nic:
    abuser@comp:~$ systemctl --user daemon-reload
    abuser@comp:~$ systemctl --user start aktuality.service
    abuser@comp:~$ systemctl --user status aktuality.service
    ● aktuality.service - Stahuje aktualni informace z ruznych webu
       Loaded: loaded (/home/abuser/.config/systemd/user/aktuality.service; enabled; vendor preset: enab
       Active: inactive (dead) since Tue 2020-11-24 11:46:41 GMT; 3s ago
      Process: 3172 ExecStart=/usr/bin/python3 /home/abuser/rss.py >> /home/abuser/rss_vystup.txt 2> /home/q
     Main PID: 3172 (code=exited, status=0/SUCCESS)
    
    Řešení 1× (zdenek2008 (tazatel))
    24.11.2020 13:02 tttt
    Rozbalit Rozbalit vše Re: Systemd.timer: pythonovy skript nejevi aktivitu
    Nevadí tomu to přesměrování? Zkusil bych to nejdřív bez něj a kouknul, co to píše do journalu (sudo journalctl -xf, případně ho nastavil pres systemd.
    StandardOutput=append:/home/abuser/rss_vystup.txt
    StandardError=file:/home/abuser/rss_chyby.txt
    24.11.2020 13:29 zdenek2008 | skóre: 26
    Rozbalit Rozbalit vše Re: Systemd.timer: pythonovy skript nejevi aktivitu
    To bylo ono, diky za tip. Jeste jsem ted znovu zkousel variantu s/bez "WorkingDirectory", rozdil nevidim ale radeji to tam necham. Jeste budu zkouset ruzne jine skripty a uvidim jak to pujde dal. Tak jeste jednou dik.
    24.11.2020 14:07 zdenek2008 | skóre: 26
    Rozbalit Rozbalit vše Re: Systemd.timer: pythonovy skript nejevi aktivitu
    Zkusil jsem spustit jiny skript, jeste je tam nejaky problem:
    #!/usr/bin/python3
    # -*- coding: utf-8 -*-
    
    import subprocess
    
    
    subprocess.Popen(['/usr/bin/okular', './knihy/vmls.pdf'])
    
    print('nazdar!')
    
    subprocess.Popen(['mpv', 'time_to_sleep.mp3'])
    
    Ten print() se normalne ukaze ve vystupnim souboru podle vyse v diskuzi uvedeneho reseni (jen jsem zmenil jmeno spousteneho skriptu v puvodnim .service souboru), ale ty subprocesy se nijak nejevi. Samostane spusteny skript dela to co ma.
    Řešení 1× (zdenek2008 (tazatel))
    24.11.2020 16:23 zdenek2008 | skóre: 26
    Rozbalit Rozbalit vše Re: Systemd.timer: pythonovy skript nejevi aktivitu
    Tak i to je uz vyresene. Do sekce [Service] jsem pridal

    KillMode=process

    a uz to funguje.

    Zdroj:

    https://raspberrypi.stackexchange.com/questions/99520/running-subprocess-in-a-service-not-working

    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.