[RISOLTO] Script che avvia e chiude un programma

Linguaggi di programmazione: php, perl, python, C, bash e tutti gli altri.
Scrivi risposta
Avatar utente
nelchael81
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 873
Iscrizione: lunedì 28 novembre 2005, 13:42
Contatti:

[RISOLTO] Script che avvia e chiude un programma

Messaggio da nelchael81 »

Ciao a tutti,
vorrei creare uno script che avvia tvtime con le varie opzioni ( per esempio sorgente e canale ) per poi richiuderlo e avviare successivamente streamer per registrare, ma non so come fare perchè ho visto che il comando kill accetta l'id del processo e non il nome, quindi non so come reperirlo in automatico.
Purtroppo devo fare questo perchè non posso scegliere la sorgente video e il canale da streamer, e sono costretto ad avviare tvtime.
Per altro se non blocco tvtime, /dev/video0 rimane bloccato da quest'ultimo quindi non posso registrare.
Chi mi puo' aiutare ???
Ultima modifica di nelchael81 il martedì 18 marzo 2008, 8:56, modificato 1 volta in totale.
Avatar utente
nelchael81
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 873
Iscrizione: lunedì 28 novembre 2005, 13:42
Contatti:

Re: Script che avvia e chiude un programma

Messaggio da nelchael81 »

...se volessi utilizzare questo comando

Codice: Seleziona tutto

ps -A | grep Nome_Applicazione_da_Killare
..come potrei fare per recuperare i numeri iniziali ?magari salvando la stringa in un file di testo
Avatar utente
nelchael81
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 873
Iscrizione: lunedì 28 novembre 2005, 13:42
Contatti:

Re: Script che avvia e chiude un programma

Messaggio da nelchael81 »

per altro forse ci vorrebbe un delay di almeno 10 secondo tra lo start e lo stop del programma, il tempo di avviarsi correttamente.


Edit:...ho cercato in giro e ho trovato il comando sleep  ;)
Ultima modifica di nelchael81 il lunedì 17 marzo 2008, 21:11, modificato 1 volta in totale.
Avatar utente
nelchael81
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 873
Iscrizione: lunedì 28 novembre 2005, 13:42
Contatti:

Re: Script che avvia e chiude un programma

Messaggio da nelchael81 »

Sono arrivato a questo punto:

Codice: Seleziona tutto

tvtime -i 3 -c 6
sleep 15
pid=$(ps -A | grep tvtime)
echo ${pid%%% *}

L'ultima riga in teoria dovrebbe scrivermi solo il pid di tvtime, invece risulta vuota.
C'è un altro modo per tagliare quella variabile ?
L'output iniziale è il seguente:

Codice: Seleziona tutto

1231 ? 00:00:02 tvtime
Avatar utente
bite
Imperturbabile Insigne
Imperturbabile Insigne
Messaggi: 3798
Iscrizione: sabato 19 maggio 2007, 22:10

Re: Script che avvia e chiude un programma

Messaggio da bite »

nelchael81 ha scritto: ma non so come fare perchè ho visto che il comando kill accetta l'id del processo e non il nome
man killall
Avatar utente
nelchael81
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 873
Iscrizione: lunedì 28 novembre 2005, 13:42
Contatti:

Re: Script che avvia e chiude un programma

Messaggio da nelchael81 »

GRAZIEEEEE, mi ero gia preparato per una notte di intenso studio per completare quello script  >:(
...ci siamo quasi, vi faccio sapere.
Avatar utente
nelchael81
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 873
Iscrizione: lunedì 28 novembre 2005, 13:42
Contatti:

Re: Script che avvia e chiude un programma

Messaggio da nelchael81 »

C'è qualcosa che non va  :(
Il mio script è questo:

Codice: Seleziona tutto

tvtime
sleep 30
killall tvtime
ma killall parte immediatamente dopo tvtime, quindi lo esegue troppo presto e non riesce a terminarlo.
Avatar utente
nelchael81
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 873
Iscrizione: lunedì 28 novembre 2005, 13:42
Contatti:

Re: Script che avvia e chiude un programma

Messaggio da nelchael81 »

Mi sbagliavo.
Il problema è che lo script, una volta lanciato tvtime, rimane in attesa fino a quando non lo chiudo a mano.
Poi parte killall che ovviamente mi segnala che non c'è nessun processo attivo che si chiama tvtime.
Come potrei risolvere ?
Avatar utente
bite
Imperturbabile Insigne
Imperturbabile Insigne
Messaggi: 3798
Iscrizione: sabato 19 maggio 2007, 22:10

Re: Script che avvia e chiude un programma

Messaggio da bite »

nelchael81 ha scritto: Il problema è che lo script, una volta lanciato tvtime, rimane in attesa fino a quando non lo chiudo a mano.
tvtime &
Avatar utente
nelchael81
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 873
Iscrizione: lunedì 28 novembre 2005, 13:42
Contatti:

Re: Script che avvia e chiude un programma

Messaggio da nelchael81 »

Grazie ancora, avevo provato con tvtime & exit, ma mi terminava lo script  >:(
Avatar utente
Alvarin
Prode Principiante
Messaggi: 77
Iscrizione: mercoledì 9 maggio 2007, 19:54

Re: Script che avvia e chiude un programma

Messaggio da Alvarin »

Ciao,
con tvtime & lanci il tvtime in background e puoi quindi eseguire gli altri comandi dello script.
In generale usare & dopo un comando fa si che il comando sia lanciato in background.

Se ti interessa qui troverai gli altri caratteri speciali della shell:
  http://www.pluto.it/files/ildp/guide/abs/special-chars.htm

Ciao
Avatar utente
nelchael81
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 873
Iscrizione: lunedì 28 novembre 2005, 13:42
Contatti:

Re: Script che avvia e chiude un programma

Messaggio da nelchael81 »

Grazie, mi metto subito a studiare  ;)

Intanto posto lo script completo, magari puo servire a qualcuno:

Codice: Seleziona tutto

#!/bin/zsh
echo "Avvio tvtime"
tvtime -i 0 -c 6 -S &
TM=${TIME:-7}
sleep $TM
echo "Spengo tvtime"
killall tvtime
echo "Avvio streamer"
streamer -c /dev/video0 -t 01:00:00 -f mjpeg -F mono16 -R 22050 -r 25.000 -o /home/registrazione.avi
sleep $TM
echo "Operazione completata"
Scrivi risposta

Ritorna a “Programmazione”

Chi c’è in linea

Visualizzano questa sezione: 0 utenti iscritti e 3 ospiti