abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 12:44 | Pozvánky

    V Praze o víkendu proběhla bastlířská událost roku - výstava Maker Fair v Praze. I strahovští bastlíři nelenili a bastly ostatních prozkoumali. Přijďte si proto i vy na Virtuální Bastlírnu popovídat, co Vás nejvíce zaujalo a jaké projekty jste si přinesli! Samozřejmě, nejen českou bastlířskou scénou je člověk živ - takže co se stalo ve světě a o čem mohou strahováci něco říct? Smutnou zprávou může být to, že provozovatel Sigfoxu jde do

    … více »
    bkralik | Komentářů: 0
    dnes 12:33 | Humor

    Kam asi vede IllllIllIIl.llIlI.lI? Zkracovač URL llIlI.lI.

    Ladislav Hagara | Komentářů: 0
    včera 22:00 | IT novinky

    Společnost OpenAI představila svůj nejnovější AI model GPT-4o (o jako omni, tj. vše). Nově také "vidí" a "slyší". Videoukázky na 𝕏 nebo YouTube.

    Ladislav Hagara | Komentářů: 0
    včera 15:44 | Zajímavý článek

    Ondřej Filip publikoval reportáž z ceremonie podpisu kořenové zóny DNS. Zhlédnout lze také jeho nedávnou přednášku Jak se podepisuje kořenová zóna Internetu v rámci cyklu Fyzikální čtvrtky FEL ČVUT.

    Ladislav Hagara | Komentářů: 0
    včera 14:22 | IT novinky

    Společnost BenQ uvádí na trh novou řadu monitorů RD určenou pro programátory. První z nich je RD240Q.

    Ladislav Hagara | Komentářů: 19
    včera 13:00 | IT novinky

    Byl aktualizován seznam 500 nejvýkonnějších superpočítačů na světě TOP500. Nejvýkonnějším superpočítačem nadále zůstává Frontier od HPE (Cray) s výkonem 1,206 exaFLOPS. Druhá Aurora má oproti loňsku přibližně dvojnásobný počet jader a dvojnásobný výkon: 1,012 exaFLOPS. Novým počítačem v první desítce je na 6. místě Alps. Novým českým počítačem v TOP500 je na 112. místě C24 ve Škoda Auto v Mladé Boleslavi. Ostravská Karolina, GPU

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

    GHC (Glasgow Haskell Compiler, Wikipedie), tj. překladač funkcionálního programovacího jazyka Haskell (Wikipedie), byl vydán ve verzi 9.10.1. Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    včera 09:22 | Nová verze

    Po 9 týdnech vývoje od vydání Linuxu 6.8 oznámil Linus Torvalds vydání Linuxu 6.9. Přehled novinek a vylepšení na LWN.net: první a druhá polovina začleňovacího okna. Později také na Linux Kernel Newbies.

    Ladislav Hagara | Komentářů: 2
    11.5. 18:22 | Nová verze

    Byla vydána verze 0.2.0 v Rustu napsaného frameworku Pingora pro vytváření rychlých, spolehlivých a programovatelných síťových systémů. Společnost Cloudflare jej letos v únoru uvolnila pod licencí Apache 2.0.

    Ladislav Hagara | Komentářů: 0
    10.5. 19:11 | Nová verze

    Open source RDP (Remote Desktop Protocol) server xrdp (Wikipedie) byl vydán ve verzi 0.10.0. Z novinek je vypíchnuta podpora GFX (Graphic Pipeline Extension). Nová větev řeší také několik bezpečnostních chyb.

    Ladislav Hagara | Komentářů: 16
    Podle hypotézy Mrtvý Internet mj. tvoří většinu online interakcí boti.
     (72%)
     (6%)
     (10%)
     (11%)
    Celkem 228 hlasů
     Komentářů: 16, poslední dnes 11:05
    Rozcestník

    Dotaz: Monitoring procesu s dynamickým PID

    30.5.2022 18:36 Petr
    Monitoring procesu s dynamickým PID
    Přečteno: 347×
    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: 72 | 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: 72 | 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.