Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Linux - Help piccolo software
Forum - Linux - Help piccolo software

Pagine: [ 1 2 ] Precedente | Prossimo
Avatar
natamas (Member)
Pro


Messaggi: 115
Iscritto: 09/04/2006

Segnala al moderatore
Postato alle 0:15
Venerdì, 22/08/2014
Salve, vi chiedo di aiutarmi nella creazione di un piccolo file eseguibile in linux, un file .sh.
In poche parole io ho un processo/servizio in ubuntu versione server, con accesso tramite sftp o ssh perciò solo console, questo processo a volte crasha e si chiude.
A me servirebbe un piccolo programma che ogni 10 secondi controlla se il processo è attivo e se non lo è lo riapre.
Il problema e che io non ho mai lavorato su linux e non ne capisco molti di programmazione con esso o con c++.
Mi potreste aiutare? grazie :)

PM Quote
Avatar
TheDarkJuster (Member)
Guru^2


Messaggi: 1620
Iscritto: 27/09/2013

Segnala al moderatore
Postato alle 12:13
Venerdì, 22/08/2014
Non ti serve uno script sh (che per inciso non è un eseguibile) ti serve il comando screen.
-apri il terminale e scrivi screen
-ctrl+a e poi c
-avvia da qui il programma
-ctrl+a e poi d

Da qui in poi anche se chiudi la connessione ssh il programma non sarà arrestato.
Se proprio ti interessa usando il comando screen c'è anche la possibilità di essere informati sullo stato del processo una volta sganciato.

PM Quote
Avatar
ZioCrocifisso (Member)
Pro


Messaggi: 135
Iscritto: 06/03/2013

Segnala al moderatore
Postato alle 12:49
Venerdì, 22/08/2014
Codice sorgente - presumibilmente VB.NET

  1. #!/bin/sh
  2.  
  3. while true
  4. do
  5.         if [ -z "$(pgrep NOMEPROCESSO)" ]; then
  6.                 nohup COMANDO &
  7.         fi
  8.         sleep 10
  9. done


Al posto di NOMEPROCESSO metti qualcosa contenuta esclusivamente nel nome del tuo processo, come il nome dell'eseguibile, mentre al posto di COMANDO il comando che fa partire il processo (eseguibile + eventuali argomenti).

Ultima modifica effettuata da ZioCrocifisso il 22/08/2014 alle 12:50
PM Quote
Avatar
TheDarkJuster (Member)
Guru^2


Messaggi: 1620
Iscritto: 27/09/2013

Segnala al moderatore
Postato alle 13:52
Venerdì, 22/08/2014
zio, il processo si chiude quando si disconnette da ssh, non perchè crasha.....

PM Quote
Avatar
ZioCrocifisso (Member)
Pro


Messaggi: 135
Iscritto: 06/03/2013

Segnala al moderatore
Postato alle 14:02
Venerdì, 22/08/2014
L'ha scritto lui che crasha.

PM Quote
Avatar
TheDarkJuster (Member)
Guru^2


Messaggi: 1620
Iscritto: 27/09/2013

Segnala al moderatore
Postato alle 21:30
Venerdì, 22/08/2014
Già, allora fai eseguire quello script in uno screen così dormi sonni tranquilli

PM Quote
Avatar
natamas (Member)
Pro


Messaggi: 115
Iscritto: 09/04/2006

Segnala al moderatore
Postato alle 0:37
Sabato, 23/08/2014
lo script crasha... non centra che chiudo l'ssh
Screen già lo uso per altri programmi che funzionano in terminale.
Infatti io ho impostato il programma come service e lui si avvia da solo anche quando riavvio la macchina, però dopo diversi gg di lavoro crasha e mi serve qualcosa che controlli e se il processo non è aperto lo riapra.
Zio ha azzeccato, non so programmare per linux ma l'ambiente unix lo conosco un pò :)
ZioCrocifisso se creo un file .sh in questo modo funziona?:
Codice sorgente - presumibilmente VB.NET

  1. #!/bin/sh
  2.  
  3. while true
  4. do
  5.         if [ -z "$(pgrep ts3server_linux)" ]; then
  6.                 nohup /home/ts3/ts3server/ts3server_startscript.sh start &
  7.         fi
  8.         sleep 10
  9. done


Grazie a tutti :k:

Ultima modifica effettuata da natamas il 23/08/2014 alle 0:39
PM Quote
Avatar
ZioCrocifisso (Member)
Pro


Messaggi: 135
Iscritto: 06/03/2013

Segnala al moderatore
Postato alle 10:48
Sabato, 23/08/2014
Sì. Ovviamente devi dargli i permessi di esecuzione:
Codice sorgente - presumibilmente Plain Text

  1. chmod 777 /home/ts3/ts3server/ts3server_startscript.sh


PM Quote
Avatar
TheDarkJuster (Member)
Guru^2


Messaggi: 1620
Iscritto: 27/09/2013

Segnala al moderatore
Postato alle 12:07
Sabato, 23/08/2014
Ok scusa, avevo collegato la chiusura di ssh con la chiusura del programma, visto che ho avuto lo stesso problema

PM Quote
Pagine: [ 1 2 ] Precedente | Prossimo