The UNIX and Linux Forums  
Hei og Velkommen fra USA til UNIX og Linux Forums! Takk for besøket og Delta i vårt globale samfunn.

Go Back   UNIX og Linux Forums > Top Forums > Shell programmering og Skripting
.
google unix.com



Shell programmering og Skripting Post spørsmål om ksh, csh, SH, Bash, Perl, PHP, SED, awk og ANDRE shell scripts og Shell skriptespråk her.

Mer UNIX og Linux Forum Emner Du kan finne nyttig
Tråd Tråd startet Forum Svar Siste innlegg
standard cron shell dummy_9746 Shell programmering og Skripting 2 10-13-2008 02:25
Cron kjøring av shell script ashish.sharma Shell programmering og Skripting 3 09-08-2008 02:57
Er det mulig å ha mer enn én Cron i shell script? Yamini Thoppen AIX 4 12-17-2007 03:23
Shell script & cron deppy82 Shell programmering og Skripting 3 08-02-2007 01:00
Shell + Oracle + Cron jobb pathanjalireddy Shell programmering og Skripting 1 04-07-2005 02:07

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 Søk i denne tråden Rate Thread Visningsmoduser
  #1 (permalink)  
Old 01-03-2009
thepurple thepurple is offline
Registrert bruker
  
 

Bli Dato: Oct 2007
Innlegg: 134
som en bedre Kjør av Cron eller Shell

Kjære Experts,

Jeg har et script definert i Cron som går hver 1 minutt.

Code:
* * * * * /export/home/myscript.sh >/dev/null 2>&1
Nå er problemet å gjennomføre som myscript.sh en gang vil ta 2 / 3 eller flere minutter å fullføre kjøring.

Men etter 1 minutt cron vil påkalle en annen forekomst (prosess) utføre myscript. I så fall tror du det er en sannsynlighet for å overlappende forekomsten og kan skape problem.


Hvis det er en sjanse for overlappende kan være under shellscript (kjører det i bakgrunnen) er bra som vil kjøre hvert 1 minutt. Skriptet vil påkalle annet øyeblikkelig etter hvert minutt.

Code:
#!/usr/bin/bash
while :
do
    sleep 60 & pid=$!
    /export/home/myscript.sh
    wait $pid
done
Kan du lage din verdifulle forslag?

/ / lilla
  #2 (permalink)  
Old 01-03-2009
Panos1962 Panos1962 is offline
Registrert bruker
  
 

Bli Dato: desember 2008
Beliggenhet: Thessaloniki, Hellas
Innlegg: 29
Det er en annen løsning på dette problemet, men du må legge til kode på `myscript.sh". Sett en slags låse mens programmet er runing, f.eks hvis programmet er et shell skript, kan du legge til følgende linjer:

Code:
...
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}
Jeg foretrekker denne typen koding i slike tilfeller, fordi det er bedre å verne denne typen programmer til å kjøre overlaping prosesser. Så, enten du foretrekker cron eller sover nohup shell scripts, prosessen er sårbar til å kjøre i simultaneus tilfeller, hvis du bruker noen form for låsing er dette umulig.
Bye ...
  #3 (permalink)  
Old 01-03-2009
2k7.vipin 2k7.vipin is offline
Registrert bruker
  
 

Bli Date: Jan 2009
Innlegg: 5
Kan du prøve denne måten

#! / usr / bin / bash
mens:
gjøre
/ export / home / myscript.sh
pid \u003d $!
wait $ pid
ferdig
  #4 (permalink)  
Old 01-03-2009
thepurple thepurple is offline
Registrert bruker
  
 

Bli Dato: Oct 2007
Innlegg: 134
Sitat:
Originally Posted by Panos1962 View Post
Code:
...
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}
er det akkurat som ..

Code:
#!/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}

Etter at jeg kan legge skriptet i Crontab.

I dette tilfellet hver 1 minutt cron vil påkalle prosessen og barnet prosessen. Men i mellomtiden, vil programmet (myscript) kan kjøres med ulike prosess og barnet prosess id.

sant?

/ / lilla
  #5 (permalink)  
Old 01-03-2009
thepurple thepurple is offline
Registrert bruker
  
 

Bli Dato: Oct 2007
Innlegg: 134
dessuten,

la si myscript.sh kjører og har under prosessen id -

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

Jeg satte den myscript.sh i cron som 1 minutt intervall. Så, hver 1 minutt intervall solaris igjen kjøre myscript.sh.

Tror du solaris mai prøver å assing neste myscript.sh med procss id 25907 (som indikerer overlappende)?
procss id 25907 publiseres .....
Closed Thread

Hugseliste

Thread Tools Søk i denne tråden
Søk i denne tråden:

Avansert søk
Visningsmoduser Ranger denne tråden
Ranger denne tråden:

Innleggsaktivitet Regler
Du kanskje ikke poste nye tråder
Du kanskje ikke poste svar
Du kanskje ikke post vedlegg
Du kanskje ikke redigere innleggene dine

BB-kode er
Smilefjes er
[IMG] koden
HTML-koden Av
Pingbacks er
Refbacks er




Alle klokkeslett er GMT -4. Nå er klokken 11:28.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Language Translations Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
UNIX og Linux Forums Content Copyright © 1993-2009. All Rights Reserved.Ad Management by RedTyger

Content Relevant nettadresser av vBSEO 3.2.0