私はこの問題に苦しんでいます。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
たが、再び成功しませんでした。どの部分が間違っていますか?