• =?ISO-8859-15?Q?Re=3A_lanciare_un_programma_dopo_che_il_pri?= =?ISO-885

    From Leonardo Boselli@21:1/5 to Diego Zuccato on Thu Mar 6 20:50:01 2025
    This message is in MIME format. The first part should be readable text,
    while the remaining parts are likely unreadable without MIME-aware tools.

    On Thu, 6 Mar 2025, Diego Zuccato wrote:
    Da qui le due domande: come controllo se la porta è già in uso e quindi
    mando direttamente i comandi con curl ?
    Con lsof puoi vederlo senza particolari problemi:
    lsof -iTCP -sTCP:LISTEN -P -n|grep $porta
    oppure
    lsof -iTCP -iTCP:$porta -sTCP:LISTEN

    lo vedo, ma come lo metto in un test [fra l'laltro deve controllare solo
    per [::1] perché su altri indirizzi, compreso 127.0.0.1, la porta potrebbe già essere in uso] .

    come faccio in maniera elegante a sapere che il programma è partito ?
    Dipende dalla definizione di "partito": lanciato, pronto in ascolto, ha già fatto qualcosa... ?

    pronto in ascolto ....

    Molti programmi prevedono anche un flag file dove scrivono il loro PID. Potrebbe esserti utile.

    non lo hanno [anche se potrei mettercelo, ma a quel punto tanto vale che
    crei dei file /var/run/localport18000...18012 però questo non mi tutela in caso di uscita anomala...

    --
    Leonardo Boselli
    Firenze, Toscana, Europa

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Leonardo Boselli@21:1/5 to Gerlos on Thu Mar 6 22:00:01 2025
    This message is in MIME format. The first part should be readable text,
    while the remaining parts are likely unreadable without MIME-aware tools.

    On Thu, 6 Mar 2025, Gerlos wrote:
    - ho una serie di script che vengono lanciati da at (ma potrebbe essere
    anche crontab, da console o da qualunque altro programma) a orari definiti;

    La butto là, un po' rapidamente perché sono di fretta: perché non sfruttare
    il fatto che systemd è in grado di avviare servizi utente (systemctl --user) a orari definiti, e che ci sono degli automatismi (come "Wants=", "Require=" e "After=") che permettono di impostare relazioni di dipendenza tra i servizi?

    in parte sono a orari definiti, ma possono essere fatti partire e fermati
    in qualsiasi momento e non c'è nessuna sequenza particolare, le varie applicazioni che possono essere sulla stessa porta hanno la stessa
    interfaccia ma fanno funzioni leggermente diverse (per questo se già c'è
    una applicazione che gira, la nuova manda i comandi a questa, ma non si installa - immaginale come driver di stampa, che accettano gli stessi
    comandi ma sono ottimizzati per ciascuna periferica).
    [proprio perché sono dei driver di periferica, che hanno funzioni
    leggermente diverse a seconda del momento e di cosa c'è attaccato]
    --
    Leonardo Boselli
    Firenze, Toscana, Europa
    http://i.trail.it
    tel:+393287329225

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Leonardo Boselli@21:1/5 to Diego Zuccato on Fri Mar 7 16:30:02 2025
    This message is in MIME format. The first part should be readable text,
    while the remaining parts are likely unreadable without MIME-aware tools.

    On Fri, 7 Mar 2025, Diego Zuccato wrote:
    non lo hanno [anche se potrei mettercelo, ma a quel punto tanto vale che
    crei dei file /var/run/localport18000...18012 però questo non mi tutela in >> caso di uscita anomala...
    Ti tutela: nel flag file c'è il PID del processo. Se trovi il flag file ma non c'è più il processo (o il flagfile è un dangling symlink a /proc/nnnn) vuol dire che il processo è uscito in maniera anomala.

    il problema che vedo è che il programma potrebbe essere uscito tra il controllo e quando mando il comando.
    a questo punto farei una cosa diversa: senza fare nessun test mando il
    primo comando; se questo viene accettato proseguo coi comandi successivi,
    se uno da errore perché nel frattempo il server si è fermato allora faccio partire il nuove server e ricomincio dall'ultimo comando non accettato.
    (faccio osservare che un server cha va giù nella fatispecie è
    assolutamante normale, perché in generale ogni server funziona in un certo intervallo di tempo e uno dei comandi che potrebbe ricevere è "esci tra X secondi".

    --
    Leonardo Boselli
    Firenze, Toscana, Europa
    http://i.trail.it

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)