The UNIX and Linux Forums  
Hello and Welcome-tól az Egyesült Államokat, hogy az UNIX és Linux Forums? Köszönjük, hogy meglátogatta és csatlakozik Globális Közösség.

Go Back   A UNIX és Linux Forums > Top Fórumok > Shell programozás és Scripting
.
google unix.com



Shell programozás és Scripting Post kérdések KSH, CSH, SH, Bash, Perl, PHP, SED, AWK ÉS EGYÉB shell szkriptek és shell script nyelvek itt.

Több, UNIX és Linux fórum témák Ön által talált Hasznos
Szál Thread Starter Fórum Válaszok Utolsó hozzászólás
Indítópult Parancsfájl "run folyamat Timer" zawmn83 Shell programozás és Scripting 0 08-21-2008 10:57 AM
Hogyan is VISSZAKÜLDÉS kulcsot Háttér folyamat "és" a Héjprogram racbern Shell programozás és Scripting 1 03-11-2008 07:30 AM
Kérdés: Felvétel shell script képernyős kimenetet a "script" parancs? lalfonso.gomez Shell programozás és Scripting 4 01-18-2007 09:31 PM
Nem utpmx bejegyzés: meg kell exec "Belépés" a legalsó szint "fiktív" peterpan A UNIX a dummies Kérdések és válaszok 0 01-18-2006 04:15 AM
Saját "kenyér és a vaj" Process Keep Alive Perl Script .... Neo Tippek és oktatóanyagok 0 01-08-2005 05:17 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 Téma eszközök Keresés a téma Rate Thread Megjelenítési módok
  #1 (permalink)  
Old 10-21-2008
Squeakygoose Squeakygoose is offline
Regisztrált felhasználó
  
 

Join Date: Jan 2008
Hozzászólások: 14
Shell script folyamat után "exit 1"

Van egy script, hogy végez az Oracle export:

Kód:
<snip>
if [ ${exp_type} = FULL ]
then
        exp / full=y file=${exp_file} log=${exp_log} direct=y feedback=1000000 STATISTICS=NONE buffer=20000000
else
        exp / full=n owner=${schema_name} file=${exp_file} log=${exp_log} direct=y feedback=1000000 STATISTICS=NONE buffer=20000000
fi

if [ $? -ne 0 ]
then
        echo "Export command failed"
        exit 1
fi
echo "Export command succeeded"
exit 0
Ha a kiviteli sikerül, akkor az üzenetet, és az oldal nem ér véget a folyamat a memóriában. Azonban, ha ez nem sikerül, a szkript megáll (azaz nem jelenik meg az "Exportálás sikerült"), de a folyamat továbbra is:

Kód:
> ps -ef|grep export
oracle   23241     1  0 10:04 pts/1    00:00:00 /bin/bash /u01/ct_scr/export.sh TAXTST FULL Y
Bárki, aki tudja, mi történik itt?
  #2 (permalink)  
Old 10-21-2008
wempy's Avatar
wempy wempy is offline
Regisztrált felhasználó
  
 

Join Date: Jun 2006
Helyszín: Harpenden, UK
Posts: 208
próba
Kód:
ps -ef |grep PID
, hogy a folyamat parancsfájlt olyan gyerekek, ezek talán gazdaság nyitott, ugyanakkor azt várja, hogy befejezze.
Ó, a PID fentiek eredményeként az eredeti ps-ef, amit tettem.
  #3 (permalink)  
Old 10-21-2008
Squeakygoose Squeakygoose is offline
Regisztrált felhasználó
  
 

Join Date: Jan 2008
Hozzászólások: 14
Nem, semmi:

Kód:
> ps -ef|grep 23241
oracle   23241     1  0 10:04 pts/1    00:00:00 /bin/bash /u01/ct_scr/export.sh TAXTST FULL Y
oracle   24421  9040  0 10:22 pts/1    00:00:00 grep 23241
  #4 (permalink)  
Old 10-21-2008
Squeakygoose Squeakygoose is offline
Regisztrált felhasználó
  
 

Join Date: Jan 2008
Hozzászólások: 14
OK, még egy kicsit diagnózis:

Az Y zászlót a forgatókönyvet, hogy azt jelzi, hogy a lerakó kell tömörített keresztül pipe. végrehajtó a forgatókönyvet: "/ u01/ct_scr/export.sh TAXTST FULL N" kijárat csak finom.

Íme a kód: $ 3 \u003d Y:
Kód:
if [ ${compress} = Y ]
then

        pipe_name=${exp_loc}/compress_${ORACLE_SID}_${schema_name:-FULL}_${today}_p

        # remove any existing pipe
        rm -f ${pipe_name}

        # Make a new pipe
        /bin/mknod ${pipe_name} p

        # initiate compression process on the new pipe to run in the background
        gzip -c < ${pipe_name} > ${exp_file}.gz &

        # Re-direct export output to the pipe
        exp_file=${pipe_name}

fi
Én is egy cleanup funkció, amely a neve előtt a kilépési 1:

Kód:
cleanup()
{
if [ ${compress:-N} = Y ]
then
        rm -f ${pipe_name}
fi
}
A cső és a háttér gzip parancs elmentek egyszer befejezi a forgatókönyvet, de talán a script nem tudja, hogy lefagy, és fordítva?

Let me know, ha már összekeverni a fene az Ön számára. Szeretném elküldeni az egész forgatókönyvet, de ez kicsit hosszú ...
  #5 (permalink)  
Old 10-21-2008
Squeakygoose Squeakygoose is offline
Regisztrált felhasználó
  
 

Join Date: Jan 2008
Hozzászólások: 14
Megerősítik. etetés a cső próbabábu néhány szöveget (egy implicit EOF) mielőtt eltávolítja okoz a forgatókönyvet, hogy kilépjen helyesen:

Kód:
cleanup()
{
if [ ${compress:-N} = Y ]
then
        echo "fail" >> ${pipe_name}
        rm -f ${pipe_name}
fi
}
Feltehetőleg a probléma érkező gzip parancs nem visszatérnek egy kilépési kódot a script folyamat előtt eltűnik, hogy a script folyamatot nyitva. Killing a cső előtt táplálja a gzip folyamat semmit látszik, hogy hagyja el a szkript folyamatot börtön. Etetés a próbabábuval szöveg egy OK, de ez nekem a leveleket. Gz fájl után hiba.

Tudja valaki, hogy hogyan kell küldeni csak EOF a cső? Remélem, hogy ez okozhatja a háttérben gzip folyamat kilépési tisztán kialakítása nélkül. Gz fájlt.
Closed Thread

Könyvjelzõk

Téma eszközök Keresés a téma
Keresés a téma:

Részletes keresés
Megjelenítési módok Rate this thread
Rate this thread:

Posting szabályzat
Ön nem post new threads
Ön nem post válaszok
Ön nem post Csatolmányok
Ön nem szerkeszteni az üzeneteidet

BB kód van Be
Smilies vannak Be
[IMG] kód Be
HTML kód Ki
Trackbacks vannak Be
Pingbacks vannak Be
Refbacks vannak Be




Minden idő GMT -4. Az idő most 11:43 PM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Nyelvre lefordítva Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
A UNIX és Linux Fórum Tartalom Copyright © 1993-2009. Minden jog Reserved.Ad menedzsment RedTyger

Content Relevant URLs by vBSEO 3.2.0