Pagina 1 di 1
Script per lanciare, chiudere e rilanciare un programma
Inviato: lunedì 27 febbraio 2017, 23:24
da 3637002
Buonasera,
sto sistemando un cabinet da sala giochi e sono arrivato alla parte software. Ho installa to lubuntu 14.04 su un vecchio portatile e installati gli emulatori.
Arrivato alla parte del front end ho incontrato un bug noioso che sulla community di supporto ufficiale (attract-mode) non hanno risolto. Ecco che chiedo il vostro aiuto per aggirarlo. Il programma al primo avvio si blocca e non rende possibile alcuna operazione. Uscendo, chiudendo il processo e riavviando il programma questo funziona alla perfezione. Vorrei quindi creare uno script che lancia il programma, lo chiude uccidendo processo e finestra e lo riavvia. Non riesco peró a trovare la soluzione, in realtà non riesco a chiudere il programma la prima volta dopo avviato perché sembra che i comandi successivi al lancio non vengano eseguiti. Saluti e grazie mille per l'aiuto. Sono arrivato veramente alla fine del progetto e mi manca soltanto questa parte.
Re: Script per aggirare bug
Inviato: martedì 28 febbraio 2017, 7:10
da tokijin
Ciao, ti chiedo di modificare il titolo del primo messaggio con qualcosa di meno generico che spieghi meglio la situazione.
Cerca di dare più informazioni possibili anche nel messaggio vero e proprio: sarà che ho ancora sonno ma non ho capito quale sarebbe il programma affetto dal bug.
Ciao

Re: Script per lanciare, chiudere e rilanciare un programma
Inviato: martedì 28 febbraio 2017, 8:43
da steff
Prova questa sequenza data in una volta:
Codice: Seleziona tutto
nomeprocesso && sleep 5 && killall nomeprocesso && nomeprocesso &
se funziona così lo script è facile poi.
Re: Script per lanciare, chiudere e rilanciare un programma
Inviato: martedì 28 febbraio 2017, 9:11
da 3637002
Grazie mille, avevo provato qualcosa di simile, ma non uguale

.stasera torno a casa e provo subito. Ciao
Re: Script per lanciare, chiudere e rilanciare un programma
Inviato: martedì 28 febbraio 2017, 9:22
da Gerry Ghetto
Il supporto di Lubuntu 14.04 finisce in aprile.
Re: Script per lanciare, chiudere e rilanciare un programma
Inviato: martedì 28 febbraio 2017, 11:44
da nuzzopippo
Guarda questo script di test che ho fatto tempo fa, avvia un processo indipendente dalla shell intercettandone il pid, aspetta un po' e poi lo killa.
Eliminando la ridondanza di debug , sostituendo ad evince il Tuo processo e rilanciando alla fine potrebbe, forse, fare al caso Tuo?
Codice: Seleziona tutto
#!/bin/bash
echo corrente pid=$!
nohup evince "test.pdf" > /dev/null &
echo corrente pid=$!
idp=$!
echo "PDF in lettura, processo $idp, attendo e poi, forse, lo killo"
sleep 20
for p in `ps -o pid`
do
if (( "$p" == "$idp" ))
then
echo "sto killando"
kill $idp
fi
done
echo 'PARE CHE QUESTO FUNZIONA!!!'
Re: Script per lanciare, chiudere e rilanciare un programma
Inviato: martedì 28 febbraio 2017, 12:09
da axilot
Ma non è di 5 anni il supporto delle LTS cioè per Ubuntu 14.04 aprile 2019 oppure le derivate hanno un supporto minore?
Edit: trovato, Lubuntu14.04 che è la prima versione LTS di Lubuntu ha un supporto di solo 3 anni, vale lo stesso per la 16.04 LTS.
Re: Script per lanciare, chiudere e rilanciare un programma
Inviato: martedì 28 febbraio 2017, 13:46
da Gerry Ghetto
Sono le communità delle derivate che forniscono il supporto per le derivate. Tutte le derivate hanno 3 anni, eccetto Kubuntu 14.04 ed Edubuntu 14.04 (5 anni). Canonical fornisce il supporto di 5 anni solo per Ubuntu ed Ubuntu Kylin per i pacchetti in
main e
restricted.
Re: Script per lanciare, chiudere e rilanciare un programma
Inviato: mercoledì 1 marzo 2017, 8:20
da 3637002
Ciao, ho provato in entrambi i modi.
Accade una cosa strana che avevo già notato.
Appena avviato il pc,se lancio il comando, il primo processo non si chiude, ma devo scivere ctrl + c da terminale per interromperlo. Se rilancio lo script (qualunque dei due) fa quello che dovrebbe fare: si apre, attende, si chiude e si riapre.
Sembra che al primo avvio del programma ci sia qualcosa di diverso infatti il log di avvio dice che inpiega circa 80 ms contro i 2 della seconda volta. Come posso capire quali altri processi vengono lanciati per provare ad avviarli prima del programma stesso?
Purtoppo durante la settimana ho poco tempo da dedicare alla cosa. Ma proverò ancora. Grazie mille
Re: Script per lanciare, chiudere e rilanciare un programma
Inviato: mercoledì 1 marzo 2017, 10:05
da nuzzopippo
Può essere che si avvii quando non è ancora completo il caricamento della configurazione di sistema e/o utente.
Se lo lanci da script prova a ritardarlo inserendo uno sleep da 90 secondi (dato che ne impiega 80 ad avviarsi) altrimenti scriviti un tuo script e lancialo da li assegnandogli un ritardo per l'avvio, è possibile che potrebbe anche non risultare più necessario killarlo.
[Edit] potrebbe anche darsi che al suo avvio configuri qualcosa o faccia qualche operazione che non viene ripetuta in seguito, in tal caso quanto sopra non servirebbe ... in tale evenienza dovresti consultare la docs del programma o cercare di capire cosa fa, per poter affrontare il problema.