0

私はこの問題に苦しんでいます。Asterisk では、ボイスメール メッセージを残した後、外部スクリプトを実行する必要があります。このため、voicemail.conf で externnotify を有効にしましたが、機能しませんでした。そこで、C コードを検索したところ、関連するコードが見つかりました。外部スクリプトを実行するコマンドは次のとおりです。

execl("/bin/sh", "/bin/sh", "-c", s, (char *) NULL);

sはです/usr/bin/myscript.sh default 2000 12 8 0 &。Excel は子プロセスで正常に実行されますが、スクリプトmyscript.shは次のとおりです。

#!/bin/sh
CONTEXT=$1
EXTEN=$2
NUMVMS=$3
echo "$CONTEXT $EXTEN $NUMVMS" > /home/testfile 

実行されません。奇妙な部分は、別の C ファイルを作成し、その中に execl コマンドを入れると、スクリプトが正常に実行されることです。コマンドに置き換えexeclましsystemたが、再び成功しませんでした。どの部分が間違っていますか?

4

1 に答える 1