Da qui le due domande: come controllo se la porta è già in uso e quindiCon lsof puoi vederlo senza particolari problemi:
mando direttamente i comandi con curl ?
lsof -iTCP -sTCP:LISTEN -P -n|grep $porta
oppure
lsof -iTCP -iTCP:$porta -sTCP:LISTEN
come faccio in maniera elegante a sapere che il programma è partito ?Dipende dalla definizione di "partito": lanciato, pronto in ascolto, ha già fatto qualcosa... ?
Molti programmi prevedono anche un flag file dove scrivono il loro PID. Potrebbe esserti utile.
- 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?
non lo hanno [anche se potrei mettercelo, ma a quel punto tanto vale cheTi 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.
crei dei file /var/run/localport18000...18012 però questo non mi tutela in >> caso di uscita anomala...
Sysop: | Keyop |
---|---|
Location: | Huddersfield, West Yorkshire, UK |
Users: | 546 |
Nodes: | 16 (2 / 14) |
Uptime: | 04:13:14 |
Calls: | 10,386 |
Calls today: | 1 |
Files: | 14,057 |
Messages: | 6,416,605 |