मेरे पास एक unimrcp क्लाइंट प्रक्रिया (ucp) है और मैं शेल स्क्रिप्ट का उपयोग करके कई ucp स्पॉन करना चाहता हूं।
जब भी मैं एक ucp स्पॉन करता हूं, तो यह एक कमांड लाइन देता है, जिसका उपयोग करके मैं ucp में विभिन्न प्रकार के कार्य कर सकता हूं। इसलिए मैं एक स्क्रिप्ट लिखना चाहता हूं जो निम्नलिखित प्राप्त करता है,
- एक ucp प्रक्रिया को स्पॉन करें
- ucp की कमांड लाइन दिखाई देने तक प्रतीक्षा करें
- एक कमांड "रन रिकॉग" के साथ ucp की कार्यक्षमता तक पहुंचें
ध्यान दें कि ./ucp && रन रिकॉग तब से काम नहीं करता है। ucp कमांड लाइन से बाहर निकलने के बाद ही समाप्त होता है।
मैंने इसके लिए निम्नलिखित प्रयास किए,
#!/bin/bash
./ucp &
fg
echo "run recog uni2"
wait
हालाँकि, ./ucp &
क्लाइंट प्रक्रिया शुरू करने और फिर "?????" लिखने के परिणाम मिलते हैं। क्लाइंट कंसोल पर "????" के परिणामस्वरूप आदेश नहीं मिला। निम्नलिखित लॉग हैं,
./script.sh
2018-10-23 14:36:53:618851 [INFO] Set Property ip:127.0.0.1
2018-10-23 14:36:53:618851 [INFO] Register Codec [PCMU]
2018-10-23 14:36:53:618851 [INFO] Register Codec [PCMA]
2018-10-23 14:36:53:618851 [INFO] Register Codec [L16]
2018-10-23 14:36:53:618851 [NOTICE] Register Resource [speechsynth]
2018-10-23 14:36:53:618851 [NOTICE] Register Resource [speechrecog]
2018-10-23 14:36:53:620588 [NOTICE] Register Resource [recorder]
2018-10-23 14:36:53:620588 [NOTICE] Register Resource [speakverify]
2018-10-23 14:36:53:620593 [INFO] Register Resource Factory
2018-10-23 14:36:53:620600 [NOTICE] Create SofiaSIP Agent [SIP-Agent-1] [1.12.11-227-g73efc97] sip:127.0.0.1:8062;transport=udp
2018-10-23 14:36:53:620600 [INFO] Register Signaling Agent [SIP-Agent-1]
2018-10-23 14:36:53:620600 [NOTICE] Create RTSP Client [RTSP-Agent-1] [100]
2018-10-23 14:36:53:620600 [INFO] Register Signaling Agent [RTSP-Agent-1]
2018-10-23 14:36:53:620600 [NOTICE] Create MRCPv2 Agent [MRCPv2-Agent-1] [100]
2018-10-23 14:36:53:620600 [INFO] Register Connection Agent [MRCPv2-Agent-1]
2018-10-23 14:36:53:620600 [NOTICE] Create Media Engine [Media-Engine-1]
unknown command: ??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
प्रश्न में मैंने जो उल्लेख किया है, उसे प्राप्त करने का यह सही तरीका है? (एक ग्राहक स्पॉन और उसके कंसोल पर एक कमांड चलाएं)? यदि हाँ तो "?????" पढ़ने में "./ucp &" परिणाम क्यों आता है? यह देखते हुए कि इसके कंसोल के इनपुट के रूप में? ध्यान दें कि यह नहीं होता है अगर मैं बस आग लगाता हूं "./ucp और fg" कंसोल से। जब मैं इसे कंसोल से करता हूं तो यह कमांड के अपेक्षित व्यवहार को देख सकता है। जब मैं स्क्रिप्ट निष्पादित करने का प्रयास करता हूं तो समस्या प्रकट होती है।
यदि यह एक सही तरीका नहीं है, तो मैं कैसे प्राप्त कर सकता हूं जो मैंने प्रश्न में उल्लेख किया है? (1, 2, और 3)
धन्यवाद