Скрипт Unix для запуска команды (клиент unimrcp) не возвращает - PullRequest
0 голосов
/ 24 октября 2018

У меня есть очень простой сценарий Unix, который порождает приложение unircpclient.

#!/bin/bash                                                                     
./unimrcpclient &                                                               
wait                                                                            

./unimrcpclient должен запустить клиент и получить консоль приложения unimrcpclient.Это происходит, когда я запускаю следующее из командной строки.

./unimrcpclient & fg

Однако, когда я пытаюсь запустить скрипт с ./script.sh, где script.sh такой же, как описано выше, это приводит к чтениюнесколько символов из терминала и ввод их в консоль unimrcpclient.Я видел такое же поведение, когда пытался сделать это, используя Python (system) и C (execvp (...)).

Я думаю, проблема в том, что процесс (запущенный unimrcp) не контролирует терминал иэлемент управления возвращается родительскому процессу, который продолжает чтение ввода с терминала или из журналов сервера и обрабатывает их как команды для консоли unimrcpclient.

Как вы думаете, это так?Если нет, то почему это происходит?Как мне остановить процесс ввода чего-либо в консоль unimrcpclient?

Я был бы очень признателен за вашу помощь.

Обычный результат запуска следующий, Пример вывода.

    ./unimrcpclient & fg
[1] 1902
./unimrcpclient
2018-10-24 17:25:37:980937 [NOTICE] UniMRCP Client [1.5.0]
2018-10-24 17:25:37:981040 [INFO]   APR [1.5.2]
2018-10-24 17:25:37:981058 [NOTICE] Create MRCP Client
2018-10-24 17:25:37:981088 [NOTICE] Open Config File [/usr/local/unimrcp/conf/unimrcpclient.xml]
2018-10-24 17:25:37:981514 [INFO]   Set Property ip:127.0.0.1
2018-10-24 17:25:37:981543 [INFO]   Register Codec [PCMU]
2018-10-24 17:25:37:981552 [INFO]   Register Codec [PCMA]
2018-10-24 17:25:37:981560 [INFO]   Register Codec [L16]
2018-10-24 17:25:37:981577 [NOTICE] Register Resource [speechsynth]
2018-10-24 17:25:37:981588 [NOTICE] Register Resource [speechrecog]
2018-10-24 17:25:37:981597 [NOTICE] Register Resource [recorder]
2018-10-24 17:25:37:981606 [NOTICE] Register Resource [speakverify]
2018-10-24 17:25:37:981613 [INFO]   Register Resource Factory
2018-10-24 17:25:37:981628 [NOTICE] Create SofiaSIP Agent [SIP-Agent-1] [1.12.11-227-g73efc97] sip:127.0.0.1:8062;transport=udp
2018-10-24 17:25:37:981641 [INFO]   Register Signaling Agent [SIP-Agent-1]
2018-10-24 17:25:37:981654 [NOTICE] Create RTSP Client [RTSP-Agent-1] [100]
2018-10-24 17:25:37:981689 [INFO]   Register Signaling Agent [RTSP-Agent-1]
2018-10-24 17:25:37:981722 [NOTICE] Create MRCPv2 Agent [MRCPv2-Agent-1] [100]
2018-10-24 17:25:37:981745 [INFO]   Register Connection Agent [MRCPv2-Agent-1]
2018-10-24 17:25:37:981756 [NOTICE] Create Media Engine [Media-Engine-1]
2018-10-24 17:25:37:981768 [INFO]   Register Media Engine [Media-Engine-1]
2018-10-24 17:25:37:981777 [NOTICE] Create RTP Termination Factory 127.0.0.1:[4000,5000]
2018-10-24 17:25:37:981785 [INFO]   Register RTP Termination Factory [RTP-Factory-1]
2018-10-24 17:25:37:981796 [INFO]   Register RTP Settings [RTP-Settings-1]
2018-10-24 17:25:37:981804 [INFO]   Enter Directory [/usr/local/unimrcp/conf/client-profiles]
2018-10-24 17:25:37:981841 [NOTICE] Open Config File [/usr/local/unimrcp/conf/client-profiles/unimrcp.xml]
2018-10-24 17:25:37:981939 [INFO]   Create SIP Settings 127.0.0.1:8060
2018-10-24 17:25:37:981959 [INFO]   Register Signaling Settings [UniMRCP-SIP-Settings]
2018-10-24 17:25:37:981970 [INFO]   Create RTSP Settings 127.0.0.1:1554
2018-10-24 17:25:37:981977 [INFO]   Register Signaling Settings [UniMRCP-RTSP-Settings]
2018-10-24 17:25:37:981992 [NOTICE] Create MRCPv2 Profile [uni2]
2018-10-24 17:25:37:982016 [INFO]   Register Profile [uni2]
2018-10-24 17:25:37:982025 [NOTICE] Create MRCPv1 Profile [uni1]

С помощью скрипта я получаю следующее (неизвестная команда)

./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: ??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
...