The UNIX and Linux Forums  

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
Identifisere og gruppere OS prosesser og APP prosesser wilsonee Sun Solaris 2 09-30-2008 10:26
Overvåke Processes - Drepte hengt prosesser ukndoit UNIX for Advanced & ekspertbrukere 4 01-17-2008 04:30
FTP filer sekvensielt harim UNIX for Advanced & ekspertbrukere 1 10-31-2007 10:54
Les eller søk elementet i en fil i rekkefølge etter plasseringen bruker unix shell script? lok UNIX for Dummies Spørsmål og svar 6 07-12-2006 07:53
prosesser master_6ez Shell programmering og Skripting 3 11-24-2004 09:48

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 04-13-2005
993 993 is offline
Registrert bruker
  
 

Bli Dato: april 2005
Innlegg: 2
Kjør Prosesser sekvensielt

Jeg har skrevet to shell scripts der skriptet A samtaler script B, passerer to parametere.

Script B tar omtrent ett minutt å fullføre (lasting og behandle data).

Når du kjører skriptet B gang fra script A, alt ok. Men når du kjører skriptet B mer enn én gang fra script En ting begynner å rote opp:

f.eks med Script A i formatet under den andre kjøre starter før den første kjøres er ferdig.

ScriptB Param1A Param2A
ScriptB Param1B Param2B

Kan noen råd hvordan jeg kan presentere en sjekk for å se om skriptet B har avsluttet før du starter den på nytt med nye parametere?

For info Jeg bruker HP / UX-11.

Jeg er ny på Unix og ny på dette forumet, så takk for hjelpen på forhånd.
  #2 (permalink)  
Old 04-13-2005
google's Avatar
google google is offline Forum Advisor  
Moderator
  
 

Bli Dato: juli 2002
Beliggenhet: Atlanta
Innlegg: 740
Bruk en lås som genereres når den første forekomsten av skriptet er kjørt. Det andre skriptet etter tilstedeværelse av lock filen. Hvis den finnes, den andre skriptet kan enten vente (for et gitt tidsrom) eller det kan avslutte. Etter den første skriptet er gjort, ville det selvsagt rydde opp (fjern) låsen fil.
Jeg hadde laget en funksjon stund tilbake for å lage en lock fil basert på prosessen antall skallet. Funksjonen tar to argumenter, en på navnet til loggfilen og den andre er $ $. Skriptet lager en lock fil i / tmp-katalogen. Denne filen inneholder prosessen ID skallet som skapte den. Hvis du prøver å kjøre skriptet mens en annen forekomst ble publisert, vil denne funksjonen hindrer andre forekomsten kjører. Fungerer bra for meg. Bruk gjerne hvis du ønsker det.


Code:
CreateLockFile () {

unset PROCESS_ID
unset ID
LFILE=${TEMP_PATH}/${1}_${TODAYS_DATE}.LCK
ID=$2

if [ -r ${LFILE} ]
 then
    OPID=`cat ${LFILE}` 2> /dev/null
    if [ -z ${OPID} -eq 0 ] #Make Sure OPID contains a value
     then
	 exit ${FAILURE} "ERROR-APP-->: `basename ${LFILE}` exists but contains no Process ID" | tee -a ${INLOG}
     else
        PROCESS_ID=`ps -p ${OPID} | grep ADD-SCRIPT-NAME-HERE | awk -F" " '{print $1}'  2> /dev/null`

        if [ ${PROCESS_ID} ]  #Lock File is there, check if process is actually running
         then
           echo "WARNING-->: ${1} Script Is Currently Running [PID=${OPID}], Exiting. ${DATE_TIME}" | tee -a ${INLOG}
           exit ${SUCCESS}
        else
	  echo "INFO-->: Old Lock File with PID= [ ${OPID} ] Exists But Process Is Not Running. " >> ${INLOG}
	  echo "INFO-->: Overwriting Old PID with New PID Value of [ ${ID} ] " >> ${INLOG}
          echo "$ID" > ${LFILE}
        fi 
     fi
else
  echo "$ID" > ${LFILE}

    if [ $? -ne 0 ]
      then 
        exit ${FAILURE} "ERROR-APP-->: Could Not Create Lock File - Exiting " | tee -a ${INLOG}
    fi
fi
}

Sist endret av google; 04-13-2005 på 11:59..
  #3 (permalink)  
Old 04-14-2005
993 993 is offline
Registrert bruker
  
 

Bli Dato: april 2005
Innlegg: 2
Takk Google.

Som fungerer bra.
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 10:15.


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