The UNIX and Linux Forums  

Go Back   UNIX och Linux Forum > Upp Forum > Shell-programmering och Skript
.
google unix.com



Shell-programmering och Skript Post frågor om ksh, CSH, SH, bash, PERL, PHP, sed, awk och andra skalskript och skal skriptspråk här.

Mer UNIX och Linux Forum Ämnen Du kan hitta Helpful
Tråd Thread Starter Forum Svar Senaste Inlägg
standard cron skal dummy_9746 Shell-programmering och Skript 2 10-13-2008 03:25
Cron verkställa skal script ashish.sharma Shell-programmering och Skript 3 09-08-2008 03:57
Är det möjligt att ha mer än en Cron i shell script? Yamini Thoppen AIX 4 12-17-2007 03:23
Shell script & cron deppy82 Shell-programmering och Skript 3 08-02-2007 02:00
Shell + Oracle + Cron jobb pathanjalireddy Shell-programmering och Skript 1 04-07-2005 03: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 denna tråd Rate Thread Visningslägen
  #1 (permalänk)  
Old 01-03-2009
thepurple thepurple is offline
Registered User
  
 

Join Date: oktober 2007
Inlägg: 134
varav den ena är bättre Kör med Cron eller Shell

Bäste expertkommitténs

Jag har ett script som definieras i Cron som går varje 1 minut.


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

Nu handlar det verkställande att myscript.sh någon gång kommer att äga 2 / 3 eller flera minuter att slutföra utförande.

Men efter 1 minut cron kommer att åberopa en annan instans (process) verkställa myscript. I så fall tror du att det finns en sannolikhet att överlappar exempel och kan skapa problem.


Om det finns en chans för överlappning kan vara under shellscript (kör i bakgrunden) är okej som kommer att pågå varje 1 minut. Skriptet anropar olika omedelbart efter varje minut.


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

Kan du göra din värdefulla förslag?

/ / lila
  #2 (permalänk)  
Old 01-03-2009
Panos1962 Panos1962 is offline
Registered User
  
 

Join Date: Dec 2008
Ort: Thessaloniki, GREKLAND
Inlägg: 29
Det finns en annan lösning på detta problem, men du måste lägga till kod på din "myscript.sh". Sätt någon form av lås medan ditt program är runing, t.ex. om dina program är ett shell script kan du lägga till följande rader:


Kod:
...
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}

Jag föredrar denna typ av kodning i sådana fall, eftersom det är bättre att skydda denna typ av program som körs overlaping processer. Så antingen du föredrar cron eller sova nohup shell scripts, de är utsatta för att köra i simultaneus fall, om du använder någon form av låsning detta är omöjligt.
Hej då ...
  #3 (permalänk)  
Old 01-03-2009
2k7.vipin 2k7.vipin is offline
Registered User
  
 

Join Date: Jan 2009
Inlägg: 5
Kan du prova detta sätt

#! / usr / bin / bash
samtidigt:
göra
/ export / home / myscript.sh
pid \u003d $!
vänta $ pid
gjord
  #4 (permalänk)  
Old 01-03-2009
thepurple thepurple is offline
Registered User
  
 

Join Date: oktober 2007
Inlägg: 134
Citat:
Ursprungligen postat av Panos1962 View Post
Kod:
...
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}
är det precis som ..


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


Efter att jag kan sätta in scriptet i crontab.

I detta fall var 1 minut cron kommer att åberopa process och barnets process. Men tiden programmet (myscript) kan köras med olika och barn process id.

rätt?

/ / lila
  #5 (permalänk)  
Old 01-03-2009
thepurple thepurple is offline
Registered User
  
 

Join Date: oktober 2007
Inlägg: 134
dessutom,

Låt säga myscript.sh är igång och har under processen id -

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

Jag sätter myscript.sh i cron som 1 minut intervall. Så var 1 minutersintervall Solaris återigen köra myscript.sh.

Tror du Solaris maj försöka assing nästa myscript.sh med procss id 25907 (som anger överlappande)?
procss id 25907 fortfarande .....
Closed Thread

Komihåglista

Thread Tools Sök i denna tråd
Sök i denna tråd:

Avancerad sökning
Visningslägen Betygsätt denna tråd
Betygsätt denna tråd:

Utstationering Regler
Du får inte efter nya trådar
Du får inte efter svar
Du får inte skicka bilagor
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG] kod
HTML-koden är Av
Trackback är
Pingbacks är
Refbacks är




Alla tider är GMT -4. Klockan är nu 05:58.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Översättningar Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
UNIX och Linux Forum Innehållet upphovsrättsskyddat © 1993-2009. All Rights Reserved.Ad förvaltning RedTyger

Content Relevant webbadresser från vBSEO 3.2.0