バックグラウンドでbtmgmt呼び出しが機能しません。

バックグラウンドでbtmgmt呼び出しが機能しません。

マシンにSSHで接続して実行すると、btmgmt find出力を生成するという意味で「動作」します。

ただし、次のコマンドでこのコマンドを実行すると、

  • クローンジョブまたは
  • cronジョブから分離したスクリプトまたは
  • 私が実行してSSHセッションから切り離したスクリプト

出力はなく、エラーメッセージも生成されません。

理由をご存知ですか?

答え1

これは既知のバグです(https://www.spinics.net/lists/linux-bluetooth/msg85222.htmlbtmgmt対話型stdinが存在しない場合、または接続が切断された場合は自動的に失敗します。簡単な解決策は次のとおりです。

yes | btmgmt

答え2

いくつかのLinuxディストリビューションを使用していると仮定すると、cronジョブまたはスクリプトを使用するときに出力をファイルにリダイレクトしますか?デフォルトでは、cronはcronジョブを所有しているユーザーに出力を電子メールで送信します。

よりhttps://www.man7.org/linux/man-pages/man8/cron.8.html

Cronは保存されているすべてのcrontabを確認し、各タスクを確認して現在1分以内に実行する必要があることを確認します。コマンドが実行されると、すべての出力がcrontabの所有者(またはcrontabのMAILTO環境変数がある場合はそのユーザー)にメールで送信されます。 -sオプションを使用して、すべてのジョブ出力をsyslogに送信することもできます。

また、バックグラウンドでスクリプトを実行している場合は、出力を確認できるように標準出力をファイルにリダイレクトする必要があります。例えば。

/my/home/script.sh >> output.txt 2>&1- これにより、出力およびエラーメッセージが/ my / homeの下のoutput.txtファイルにリダイレクトされます。

関連情報