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 01:44 | Pozvánky

    Přemýšlíte, jak začít prázdniny? Už v úterý 1. července se bude konat Virtuální Bastlírna, tedy online setkání bastlířů, techniků, vědců i akademiků, kde se ve volné diskuzi probírají novinky ze světa techniky, ale i jiných zajímavých témat.

    Za poslední měsíc jsme byli svědky plamenů několika raket. Zatímco malá raketa od Hondy se úspěšně vznesla a opět přistála, raketa od SpaceX se rozhodla letět všemi směry najednou. Díkybohu méně … více »
    Uprdkávač | Komentářů: 0
    včera 23:44 | Komunita

    Linus Torvalds zmínil, že souborový systém Bcachefs zřejmě odstraní z mainline Linuxu v začleňovacím okně pro vydání 6.17. Kent Overstreet mu totiž posílá kód s novou funkcionalitou i pro začlenění do kandidátů na vydání, kdy očekává pouze opravy chyb. Ken Overstreet byl již dříve z vývoje vyloučen kvůli konfliktní komunikaci.

    Fluttershy, yay! | Komentářů: 6
    27.6. 11:55 | IT novinky

    Ministerstvo průmyslu a obchodu propaguje Microsoft. Ten ve spolupráci s Ministerstvem průmyslu a obchodu spouští AI National Skilling Plan v ČR. "Iniciativa Microsoftu přináší konkrétní a praktickou podporu právě tam, kde ji nejvíc potřebujeme – do škol, firem i veřejné správy.", říká ministr průmyslu a obchodu Lukáš Vlček.

    Ladislav Hagara | Komentářů: 27
    27.6. 10:55 | Zajímavý projekt

    Jste český ISP? Vyplněním krátkého dotazníku můžete pomoci nasměrovat vývoj nové generace routerů Turris Omnia [𝕏].

    Ladislav Hagara | Komentářů: 4
    27.6. 01:33 | IT novinky

    Celkové tržby společnosti Canonical za rok 2024 byly 292 milionů dolarů (pdf). Za rok 2023 to bylo 251 milionů dolarů.

    Ladislav Hagara | Komentářů: 1
    27.6. 01:22 | Nová verze

    Byla vydána verze 1.88.0 programovacího jazyka Rust (Wikipedie). Podrobnosti v poznámkách k vydání. Vyzkoušet Rust lze například na stránce Rust by Example.

    Ladislav Hagara | Komentářů: 0
    27.6. 01:11 | Nová verze

    Distribuce Tails specializující se ochranu online soukromí uživatele byla vydána ve verzi 6.17. Mimo jiné aktualizuje Tor Browser (14.5.4) a opravuje několik chyb.

    Fluttershy, yay! | Komentářů: 0
    26.6. 21:11 | Nová verze Ladislav Hagara | Komentářů: 0
    26.6. 13:11 | IT novinky

    Město Lyon posiluje svou digitální suverenitu a postupně nahrazuje software od společnosti Microsoft bezplatnými alternativami, zejména OnlyOffice pro kancelářské aplikace a Linux a PostgreSQL pro systémy a databáze.

    Ladislav Hagara | Komentářů: 9
    26.6. 11:44 | Zajímavý projekt

    Evropská občanská iniciativa Stop Destroying Videogames se snaží o to, aby vydavatelé, kteří spotřebitelům v Evropské unii prodávají videohry nebo na ně udělují licence, měli povinnost tyto hry ponechat ve funkčním (hratelném) stavu i po ukončení podpory ze své strany. Podpořit podpisem tuto iniciativu můžete v Systému pro online sběr podpisů.

    trekker.dk | Komentářů: 5
    Jaký je váš oblíbený skriptovací jazyk?
     (59%)
     (28%)
     (7%)
     (2%)
     (0%)
     (1%)
     (3%)
    Celkem 331 hlasů
     Komentářů: 16, poslední 8.6. 21: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: 398×
    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.