The UNIX and Linux Forums  
Hej og Velkommen fra USA til UNIX og Linux Forums! Tak for dit besøg og deltager i vores globale samfund.

Go Back   UNIX og Linux Forums > Top Forums > Shell Programmering og Scripting
.
google unix.com



Shell Programmering og Scripting Post spørgsmål om ksh, CSH, SH, Bash, Perl, PHP, SED, AWK og ANDRE shell scripts og Shell scriptsprog her.

Mere UNIX og Linux Forum Emner du måske kan finde Helpful
Tråd Thread Starter Forum Svar Last Post
Identificere og gruppering OS processer og APP processer wilsonee Sun Solaris 2 09-30-2008 09:26 AM
Overvågningsprocesser - Killing hang processer ukndoit UNIX for Advanced & Ekspertsøgning Brugere 4 01-17-2008 04:30 AM
FTP Files sekventielt harim UNIX for Advanced & Ekspertsøgning Brugere 1 10-31-2007 10:54 AM
læse eller find det element i en fil sekventielt ved position vha. UNIX shell script? lok UNIX for dummyer Spørgsmål & svar 6 07-12-2006 06:53 AM
processer master_6ez Shell Programmering og Scripting 3 11-24-2004 09:48 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 Søg denne tråd Rate Thread Display Modes
  #1 (permalink)  
Old 04-13-2005
993 993 is offline
Registreret Bruger
  
 

Join Date: Apr 2005
Stillinger: 2
Kør Processer sekventielt

Jeg har skrevet to shell-scripts, hvor script A opkald script B, passerer to parametre.

Script B tager omkring et minut til at fuldføre (lastning og behandling af data).

Når du kører scriptet B gang fra script A, alt fungerer ok. Men når du kører scriptet B mere end én gang fra script A, tingene begynder at rodet op:

fx med Script A i dette format, og den anden kører starter før det første løb er færdig.

ScriptB Param1A Param2A
ScriptB Param1B Param2B

Kan nogen rådgive hvordan jeg kan indføre en kontrol for at se, om script B er udfyldt, før du starter den igen med nye parametre?

For info Jeg bruger HP / UX 11.

Jeg er ny til Unix og nye til dette forum, så tak for din hjælp på forhånd.
  #2 (permalink)  
Old 04-13-2005
google's Avatar
google google is offline Forum Advisor  
Moderator
  
 

Join Date: Jul 2002
Location: Atlanta
Posts: 740
Brug en lock-fil, der genereres, når den første forekomst af scriptet køres. Det andet script vil undersøge for forekomst af låse filen. Hvis den findes, andet script kunne enten vente (for et bestemt tidsrum), eller man kunne afslutte. Efter det første script er gjort, vil det selvfølgelig rydde op (fjerne) låsen filen.
Jeg havde oprettet en funktion et stykke tid tilbage til at skabe en lås fil baseret på processen antallet af skallen. Funktionen tager to argumenter, en for navnet på den logfil, og den anden er $ $. Scriptet opretter en lock-fil i / tmp bibliotek. Denne fil er indehaver processen ID af råtanken, der skabte den. Hvis du forsøger at køre scriptet, mens et andet eksempel var i gang, denne funktion vil forhindre den anden instans at køre. Fungerer godt for mig. Du er velkommen til at bruge, 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
}

Senest redigeret af Google; 04-13-2005 på 10:59 AM..
  #3 (permalink)  
Old 04-14-2005
993 993 is offline
Registreret Bruger
  
 

Join Date: Apr 2005
Stillinger: 2
Thanks a lot Google.

, Der fungerer fint.
Closed Thread

Bogmærker

Thread Tools Søg denne tråd
Søg denne tråd:

Avanceret søgning
Display Modes Bedøm denne tråd
Bedøm denne tråd:

Udstationering Regler
Du kan ikke post nye tråde
Du kan ikke post svar
Du kan ikke post vedhæftede filer
Du kan ikke redigere dine indlæg

BB-kode er
Smilies er
[IMG] koden er
HTML-koden er Slukket
Trackbacks er
Pingbacks er
Refbacks er




Alle tidspunkter er GMT -4. Den tid er nu 07:43 AM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Oversættelser Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
UNIX og Linux Forums Content Copyright © 1993-2009. Alle rettigheder Reserved.Ad Management ved RedTyger

Content Relevant webadresser ved vBSEO 3.2.0