The UNIX and Linux Forums  

Go Back   UNIX e Linux Forum > Inizio Forum > Shell scripting e di programmazione
.
google unix.com



Shell scripting e di programmazione Pubblica domande su KSH, CSH, SH, Bash, Perl, PHP, sed, awk e da altri script di shell e linguaggi di scripting shell qui.

Più di UNIX e Linux Forum Argomenti potreste trovare utili
Filo Thread Starter Forum Risposte Ultimo Post
cron default della shell dummy_9746 Shell scripting e di programmazione 2 10-13-2008 03:25 PM
Cron esecuzione di script di shell ashish.sharma Shell scripting e di programmazione 3 09-08-2008 03:57 AM
E 'possibile avere più di uno script di shell in cron? Yamini Thoppen AIX 4 12-17-2007 03:23 AM
Script di shell e cron deppy82 Shell scripting e di programmazione 3 08-02-2007 02:00 PM
Shell + + Oracle Cron lavoro pathanjalireddy Shell scripting e di programmazione 1 04-07-2005 03:07 AM

Closed Thread
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered by Powered by Google
 
LinkBack Thread Tools Cerca in questo Thread Rate Thread Modalità di visualizzazione
  #1 (permalink)  
Old 01-03-2009
thepurple thepurple is offline
Utente Registrato
  
 

Iscriviti Data: ottobre 2007
Interventi: 134
che uno è meglio Esegui da cron o Shell

Cari esperti,

Ho uno script definito in cron che effettua corse ogni 1 minuto.


Codice:
* * * * * /export/home/myscript.sh >/dev/null 2>&1

Ora il problema è che l'esecuzione myscript.sh talvolta avrà 2 / 3 o più minuti per terminare l'esecuzione.

Ma dopo 1 minuto di cron richiamerà un altro esempio (processo) eseguire il mioscript. In questo caso si che ci sia una probabilità di sovrapposizione e l'istanza può creare problemi.


Se c'è una possibilità di sovrapposizione può essere inferiore shellscript (eseguito in background) è bene che si svolgerà ogni 1 minuto. Script richiamerà diversi istante dopo ogni minuto.


Codice:
#!/usr/bin/bash
while :
do
    sleep 60 & pid=$!
    /export/home/myscript.sh
    wait $pid
done

Potrebbe rendere il vostro prezioso suggerimento?

/ / viola
  #2 (permalink)  
Old 01-03-2009
Panos1962 Panos1962 is offline
Utente Registrato
  
 

Iscriviti Data: dicembre 2008
Località: Salonicco, Grecia
Interventi: 29
Vi è un'altra soluzione a questo problema, ma dovete aggiungere il codice al tuo `myscript.sh '. Metti una sorta di blocco, mentre il programma è runing, ad esempio, se il tuo programma è uno script di shell, è possibile aggiungere le seguenti righe:


Codice:
...
lock=/export/home/.myscript.lock
trap "rmdir ${lock}; exit 2" 1 2 3 15
# Now lock. If lock fails, then propably the program is runing.
mkdir ${lock} || exit 0
...
Here comes the script code
...
# Now unlock, so another instance of this program can run in the future.
rmdir ${lock}

Io preferisco questo tipo di codifica, in tali casi, perché è meglio per proteggere questo tipo di programmi per eseguire i processi overlaping. Allora, o si preferisce cron, o dormire nohup script di shell, il processo è vulnerabile per l'esecuzione in simultanea casi; se si usa un qualche tipo di blocco questo è impossibile.
Bye ...
  #3 (permalink)  
Old 01-03-2009
2k7.vipin 2k7.vipin is offline
Utente Registrato
  
 

Iscriviti Data: gennaio 2009
Interventi: 5
Puoi provare in questo modo

#! / usr / bin / bash
mentre:
fare
/ export / home / myscript.sh
pid \u003d $!
wait $ pid
fatto
  #4 (permalink)  
Old 01-03-2009
thepurple thepurple is offline
Utente Registrato
  
 

Iscriviti Data: ottobre 2007
Interventi: 134
Citazione:
Originalmente inviato da Panos1962 View Post
Codice:
...
lock=/export/home/.myscript.lock
trap "rmdir ${lock}; exit 2" 1 2 3 15
# Now lock. If lock fails, then propably the program is runing.
mkdir ${lock} || exit 0
...
Here comes the script code
...
# Now unlock, so another instance of this program can run in the future.
rmdir ${lock}
è proprio come ..


Codice:
#!/usr/bin/bash
lock=/export/home/.myscript.sh.lock
trap "rmdir ${lock}; exit 2" 1 2 3 15

mkdir ${lock} || exit 0
...
Here comes my script code
...
rmdir ${lock}


Dopo che i può mettere lo script in crontab.

In tal caso ogni 1 minuto cron invocherà processo e processo figlio. Ma intanto, il programma (mioscript) può essere eseguito con diversi processi e processo figlio id.

giusto?

/ / viola
  #5 (permalink)  
Old 01-03-2009
thepurple thepurple is offline
Utente Registrato
  
 

Iscriviti Data: ottobre 2007
Interventi: 134
inoltre,

diciamo myscript.sh è in esecuzione e che qui di seguito il processo con id -

solaris: / home/user1> ps-ef | grep myscript.sh
solaris 25907 10427 0 14:36:50? 0:00 / export / home / myscript.sh

ho messo in cron il myscript.sh come intervallo di 1 minuto. Così, ogni intervallo di 1 minuto solaris nuovamente eseguire il myscript.sh.

Pensi che solaris maggio provi a Assing la prossima myscript.sh con procss id 25907 (che indica la sovrapposizione)?
procss id 25907 ancora in corso .....
Closed Thread

Segnalibri

Thread Tools Cerca in questo Thread
Cerca in questo Thread:

Ricerca Avanzata
Modalità di visualizzazione Vota questo thread
Vota questo thread:

Distacco regolamento
Tu non può post nuovo thread
Tu non può inviare una risposta
Tu non può postare allegati
Tu non può modificare i tuoi post

BB codice è Su
Smilies sono Su
[IMG] codice Su
Codice HTML è Chiuso
Trackbacks sono Su
Pingbacks sono Su
Refbacks sono Su




Tutti gli orari sono GMT -4. La data di oggi è 10:18 AM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Traduzioni Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
UNIX e Linux Forum Content Copyright © 1993-2009. Tutti i diritti Reserved.Ad di gestione da RedTyger

Contenuti pertinenti URL da vBSEO 3.2.0