मैं अपने सर्वर पर एक आवेदन शुरू करने के लिए उम्मीद का उपयोग कर रहा अपेक्षा में:पृष्ठभूमि प्रक्रिया पैदा की
!/usr/bin/expect
set timeout -1
spawn "bin/start-all.sh"
expect {
-re "Found MongoDB in" { send "y\r"; exp_continue }
-re "Found Hadoop in" { send "y\r"; exp_continue }
-re "Going to start Hadoop" { interact }
}
मैं जबकि स्क्रिप्ट चल रही है कुछ ही सेकंड में अपने सर्वर पर आवेदन का उपयोग कर सकते हैं, लेकिन जैसे ही यह समाप्त होता है एप्लिकेशन अनुपलब्ध हो जाता है।
मैं डिबग मोड में उम्मीद और अंत में निम्नलिखित आउटपुट प्राप्त हुई:
expect: does "vendors area. Do you want to start it? [y/n] y\r\n" (spawn_id exp6) match regular expression "Found MongoDB in"? Gate "Found MongoDB in"? gate=no
"Found Hadoop in "? Gate "Found Hadoop in "? gate=no
"Going to start Hadoop"? Gate "Going to start Hadoop"? gate=no
Going to start Hadoop...
expect: does "vendors area. Do you want to start it? [y/n] y\r\nGoing to start Hadoop...\r\n" (spawn_id exp6) match regular expression "Found MongoDB in"? Gate "Found MongoDB in"? gate=no
"Found Hadoop in "? Gate "Found Hadoop in "? gate=no
"Going to start Hadoop"? Gate "Going to start Hadoop"? gate=yes re=yes
expect: set expect_out(0,string) "Going to start Hadoop"
expect: set expect_out(spawn_id) "exp6"
expect: set expect_out(buffer) "vendors area. Do you want to start it? [y/n] y\r\nGoing to start Hadoop"
tty_raw_noecho: was raw = 0 echo = 1
interact: received eof from spawn_id exp6
tty_set: raw = 0, echo = 1
tty_set: raw = 5, echo = 0
मैं का उपयोग कर की कोशिश की है exit 0
, interact
, exp_continue
, disconnect
, sleep 10
पिछले पैटर्न के तहत, साथ ही eof
की उम्मीद है लेकिन कुछ भी काम नहीं कर रहा है। मैंने expect start-all.exp &
चलाने का भी प्रयास किया है लेकिन यह या तो काम नहीं करता है।
जब मैं मैन्युअल रूप से bin/start-all.sh चलाता हूं, तो स्क्रिप्ट आवश्यक प्रक्रियाएं शुरू करती है और फिर बाहर निकलती है। हालांकि उम्मीद है कि उन प्रक्रियाओं को मारने लगते हैं। मैं इस मुद्दे को कैसे ठीक करूं?
बहुत सारी जानकारी है, लेकिन यह स्पष्ट नहीं है कि आप क्या हासिल करने की कोशिश कर रहे हैं। –
यह एक लंबा शॉट है, लेकिन क्या आपने अंत में 'eof' की उम्मीद की है? –
मुझे डर है कि मैं इस start-all.sh स्क्रिप्ट से परिचित नहीं हूं। यह संभव है कि जब यह उम्मीदवार के पीटीई में भाग लेता है तो यह अजीब कुछ कर रहा है जिसके परिणामस्वरूप यह समय-समय पर समाप्त हो जाता है। – user108471