2017-03-01 31 views
0

我目前正在從ksh腳本運行Ab Initio命令。這個過程給我的127返回代碼..等待進程ID時返回代碼127

air sandbox run ${PSET_FILE_PATH} -SOURCE_DATA_DT ${LAST_DATE_CURR_MON} -AI_LOG_FILE ${LOG_FILE} >> ${LOG_FILE} 2>&1 & 
    process_id=${$} 
    sleep 60 
    ps -e -oruser=UID -opid,ppid,vsz,args=CMD | grep "${USER}" | grep -v grep | grep -v 'ps ' > ${ENV_BASE}/cems/recovery/hltcheck/${USER}_startup_mem.txt 
    wait ${process_id} 
    RC=${?} 
    [[ ${RC} -eq 0 ]] || End ERROR "Pset execution of creating mfs failed" 
+1

有很多的流程在這裏。哪一個產生127個返回碼(順便說一下,這是shell所使用的指示命令的返回碼無法找到)。 – chepner

+2

你的意思是'process_id = $!'? – chepner

+1

等待$ {process_id}返回錯誤代碼 –

回答

0

腳本沒有做什麼,我想你想要做的事。

  1. 返回碼「127」是因爲wait ${process_id}命令返回它,因爲作爲參數接收的進程ID不是後臺進程。
  2. 要等待的進程標識不正確,因爲命令process_id=${$}收到當前shell腳本實例的PID。正確的事情是使用process_id=$!這將分配後臺放入的最後一個進程的PID。

的Retur