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 11:22 | Bezpečnostní upozornění

    Úřad pro ochranu osobních údajů řeší desítky stížností na jednotné měsíční hlášení zaměstnavatele, které stát spustil počátkem dubna. Systém, jenž má firmám odlehčit od desítek formulářů, nejenže výrazně zatížil jejich účetní oddělení, ale docházelo v něm i k únikům osobních dat zaměstnanců k firmám, kde nepracovali. Podle ministerstva práce a sociálních věcí stála za problémem technická chyba. „Incident se týkal několika stovek

    … více »
    Ladislav Hagara | Komentářů: 4
    včera 10:46 | Nová verze

    Byla vydána (𝕏, Bluesky) nová verze 22.0.0 open source webového aplikačního frameworku Angular (Wikipedie). Přehled novinek v příspěvku na blogu.

    Ladislav Hagara | Komentářů: 0
    včera 04:33 | Nová verze

    Vim Classic byl vydán ve verzi 8.3. Drew DeVault oznámil tento fork editoru Vim (verze 8.2.0148, tj. těsně před zavedením Vim9 skriptování) v březnu letošního roku. Důvodem forku bylo, že vývojáři editorů Vim a Neovim začali při vývoji využívat LLM.

    Ladislav Hagara | Komentářů: 5
    včera 03:44 | Komunita

    Open source konference DevConf.CZ 2026 proběhne 18. a 19. června v Brně na FIT VUT. Publikován byl program a spuštěna byla registrace.

    Ladislav Hagara | Komentářů: 0
    3.6. 19:44 | Nová verze

    Společnost JetBrains uvolnila verzi 2 svého open-source velkého jazykového modelu (LLM) pro vývojáře Mellum.

    Ladislav Hagara | Komentářů: 0
    3.6. 14:44 | IT novinky

    Probíhá konference Microsoft Build 2026. Microsoft představuje své novinky: kvantový čip Majorana 2, Surface Laptop Ultra a Surface RTX Spark Dev Box s NVIDIA RTX Spark, Intelligent Terminal, Coreutils for Windows (fork Rust Coreutils), AI modely MAI, AI agenta Scout, platformu pro agent-first zařízení Project Solara, …

    Ladislav Hagara | Komentářů: 0
    3.6. 12:44 | Nová verze

    Google Chrome 149 byl prohlášen za stabilní. Nejnovější stabilní verze 149.0.7827.53 přináší řadu novinek. Podrobný přehled v poznámkách k vydání. Vylepšeny byly také nástroje pro vývojáře.

    Ladislav Hagara | Komentářů: 0
    3.6. 10:55 | Nová verze

    Pluto.jl, reaktivní notebook pro programovací jazyk Julia, dospěl do verze 1.0.

    Ladislav Hagara | Komentářů: 4
    2.6. 13:44 | Nová verze

    Byla vydána nová verze 12.0.0 vizuálního programovacího jazyka Snap! (Wikipedie) inspirovaného jazykem Scratch (Wikipedie). Přehled novinek na GitHubu.

    Ladislav Hagara | Komentářů: 0
    2.6. 11:44 | IT novinky

    Počítačovou hru Gravity Circuit (ProtonDB) lze do 14. června do 19:00 získat na Steamu zdarma. Napořád.

    Ladislav Hagara | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (12%)
     (8%)
     (2%)
     (15%)
     (31%)
     (4%)
     (6%)
     (3%)
     (15%)
     (26%)
    Celkem 1818 hlasů
     Komentářů: 30, poslední 3.4. 20:20
    Rozcestník


    Dotaz: Monitoring procesu s dynamickým PID

    30.5.2022 18:36 Petr
    Monitoring procesu s dynamickým PID
    Přečteno: 441×
    Dobrý den.
    Potřeboval bych pomoct se zajištěním monitoringu procesu.
    V podstate volám ffmpeg s nějakými parametry. Po zavolání a spuštění procesu na pozadí potřebuju vědět, zda-li proces běží nebo neběží a pokud neběží, potřebuju aby se znovu spustil. Zatím nevím, kudy nejlépe do toho.

    Příklad
    ffmpeg -rtsp_transport tcp -i $RTSP_URL1 -c:v copy -c:a copy -f flv $DEST_URL1 > /var/log/ffmpeg/stream01.log 2>&1 < /dev/null &
    ffmpeg -rtsp_transport tcp -i $RTSP_URL2 -c:v copy -c:a copy -f flv $DEST_URL2 > /var/log/ffmpeg/stream02.log 2>&1 < /dev/null &
    
    Nějaký nápad ?
    Celé bych to následně rád svěřil systemd.

    Řešení dotazu:


    Odpovědi

    30.5.2022 18:45 X
    Rozbalit Rozbalit vše Re: Monitoring procesu s dynamickým PID
    Odpovedel jsi si sam. Napis si na to demona(unit) v systemd, ktery zajisti restart, logovani, status etc.
    1.6.2022 09:59 Petr
    Rozbalit Rozbalit vše Re: Monitoring procesu s dynamickým PID
    Asi by se hodil nějaký exampel...
    Mohu poprosit ?

    Neříkám "vymysli to za mě". Říkám example, odkaz, zdroj.
    Nikdy jsem to nedělal - hraju si.

    Děkuji.
    Max avatar 1.6.2022 10:15 Max | skóre: 73 | blog: Max_Devaine
    Rozbalit Rozbalit vše Re: Monitoring procesu s dynamickým PID
    Něco jako:
    nano /etc/systemd/system/ffmpeg.service
    
    [Unit]
    Description=FFmpeg service
    After=multi-user.target sound.target network-online.target
    
    [Service]
    Type=simple
    User=uzivatel
    Group=skupina
    WorkingDirectory=/home/user/
    ExecStart=/home/user/ffmpeg-script.sh
    Restart=always
    
    [Install]
    WantedBy=default.target
    
    
    systemctl daemon-reload
    systemctl enable ffmpeg
    systemctl start ffmpeg
    
    Nemám odzkoušeno, jen střílím.
    Zdar Max
    Měl jsem sen ... :(
    Ruža Becelin avatar 1.6.2022 11:05 Ruža Becelin | skóre: 40 | blog: RuzaBecelinBlog
    Rozbalit Rozbalit vše Re: Monitoring procesu s dynamickým PID
    Jeste tip:
    systemctl enable ffmpeg
    systemctl start ffmpeg
    
    lze nahradit
    systemctl enable ffmpeg --now
    1.6.2022 11:35 fe
    Rozbalit Rozbalit vše Re: Monitoring procesu s dynamickým PID
    Ta náhrada funguje jen v novějších distrech (novějších verzích systemd).
    Ruža Becelin avatar 1.6.2022 14:45 Ruža Becelin | skóre: 40 | blog: RuzaBecelinBlog
    Rozbalit Rozbalit vše Re: Monitoring procesu s dynamickým PID
    To jsou dneska vsechny podporovane, ne?
    1.6.2022 13:26 Petr
    Rozbalit Rozbalit vše Re: Monitoring procesu s dynamickým PID
    Děkuji za rady.
    Spíš tedy potřebuju řešit, jak ošetřit, že jeden ffmpeg běží a druhý že spadnul, což bych měl teda řešit na úrovni skriptu, který bude ten ffmpeg spouštět nebo na úrovni systemd ?

    Skript by zatím vypadal takto
    ffmpeg -rtsp_transport tcp -i $RTSP_URL1 -c:v copy -c:a copy -f flv $DEST_URL1 > /var/log/ffmpeg/stream01.log 2>&1 < /dev/null &
    ffmpeg -rtsp_transport tcp -i $RTSP_URL2 -c:v copy -c:a copy -f flv $DEST_URL2 > /var/log/ffmpeg/stream02.log 2>&1 < /dev/null &
    
    ..a je tedy potřeba ošetřit, že když spadne process ffmpegu pro kameru1, tak že se restartuje jen proces pro kameru1 a totéž úplně stejně pro kameru2 až kameruN. V žádném případě ale nesmí dojít ke spuštění procesu pro kameruX vícekrát, tedy duplicitně.

    Takže teď v tom mám ještě větší hokej.
    Nebo právě tohle bude hlídat systemd "samo" ?

    Děkuji.
    1.6.2022 13:51 X
    Rozbalit Rozbalit vše Re: Monitoring procesu s dynamickým PID
    Pro kazdou kameru si vytvor samostatny unit soubor cam1.service, cam2.service.. Asi by se dal ten ffmpeg poustet i primo:
    RunExec=/usr/bin/ffmpeg -rtsp_transport tcp -i $RTSP_URL1 -c:v copy -c:a copy -f flv $DEST_URL1
    
    to logovani a pousteni na pozadi:
     > /var/log/ffmpeg/stream01.log 2>&1 < /dev/null &
    muzes vynechat. Logovat za tebe bude systemd a na pozadi to pobezi automaticky:
    systemctl status cam1.service
    journalctl -u cam1.service
    
    1.6.2022 13:54 X
    Rozbalit Rozbalit vše Re: Monitoring procesu s dynamickým PID
    Ten restart uz tam mas od Maxe:
    Restart=always
    
    Nez se zacnes zase ptat tak se pred tim zkus podivat do manualu a na miliardu navodu na internetu ok?
    Jendа avatar 2.6.2022 17:13 Jendа | skóre: 78 | blog: Jenda | JO70FB
    Rozbalit Rozbalit vše Re: Monitoring procesu s dynamickým PID
    Může použít takové ty parametry unit, kdy se udělá jedna unita a pak se to spouští jako kamera@parametr.service.

    Logování do journalu mě zklamalo, je to 10x větší a šílené pomalé když to člověk listuje. Ale třeba se to dá poladit a takhle blbý je jenom default v Debianu. A pak se mi taky nepodařilo najít jak čistit logy pro různé unity s různým intervalem, třeba když se jedna zblázní a zaplní disk, nebo si naopak chci nějakou zachovat pro pozdější ladění. [1, 2]
    Max avatar 1.6.2022 13:56 Max | skóre: 73 | blog: Max_Devaine
    Rozbalit Rozbalit vše Re: Monitoring procesu s dynamickým PID
    Tak úplně nejjednodušší je mít dvě unity, pro každou kameru jednu.
    Pokud si tedy vezmeš ten příklad výše, tak se ta unita nemusí jmenovat ffmpeg.service, ale cam1.service, cam2.service atd. a v každé volat jiný skript / příkaz jen pro tu konkrétní kameru.
    O fous složitější na pochopení je mít unitu jednu a dávat jí parametry kamer.
    Zdar Max
    Měl jsem sen ... :(
    1.6.2022 16:06 Petr
    Rozbalit Rozbalit vše Re: Monitoring procesu s dynamickým PID
    Díky moc.
    Tohle je asi to, co by mě nejvíc zajímalo. Kamer bude víc, tak by se spíše hodila tato cesta...

    Petr

    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.