2017-03-20 82 views
0

試圖在一個NOHUP命令中運行所有的sql腳本。以下是我的代碼。但是,它不是基於下面的nohup模式運行的。也沒有錯誤。如何在一個NOHUP命令中運行以下所有內容?unix nohup sqlplus不能正常工作

nohup sqlplus -S /NOLOG << %EOF% > engine_error.log 
WHENEVER SQLERROR EXIT 1; 
@$Level2/passFile server05 
@engine_check.sql $stroke1 $bore1 
@engine_start.sql 
%EOF% & 

回答

0

當你有一個腳本,必須啓動一些後臺作業,使與&nohup腳本啓動功能的腳本。
當腳本startit.sh看起來像

function f1 { 
    echo "f1 start" 
    sleep 2 
    echo "f1 end" 
} 

function f2 { 
    echo "f2 start" 
    sleep 1 
    echo "f2 end" 
} 

function f3 { 
    echo "f3 start" 
    sleep 1 
    cat <<END 
f3 start here 
more f3 
f3 end here 
END 
    echo "f3 end" 
} 

f1 & 
f2 
f3 & 

呼叫nohup startit.sh

0

試着把它放在一個腳本中,然後nohup腳本。由於命令,nohup可能會感到困惑。

#!/usr/bin/env 
#query.sh 
sqlplus -S /NOLOG << %EOF% > engine_error.log 
WHENEVER SQLERROR EXIT 1; 
@$Level2/passFile server05 
@engine_check.sql $stroke1 $bore1 
@engine_start.sql 
EOF 

然後在你的shell嘗試這樣做

nohup query.sh & 
+0

這已經在腳本里面了。腳本的其他部分也運行nohup。你可以給我一個例子嗎? – raptor496