web-dev-qa-db-ja.com

アプリケーションを無限に実行するためのターミナルコマンド

Googleでほぼすべてのキーワードを試しましたが、それでも答えが見つかりませんでした。うまくいけば、あなたの一人が知っています。

Terminalコマンドとは、アプリケーションが失敗した後、または実行を停止した後も、アプリケーションを実行し続けることです。

ターミナルでこのループコマンドを試しました:

bash -c 'while [ 0 ]; do COMMAND_HERE;done'

ただし、前のコマンドが失敗または終了した後ではなく、コマンドをすぐに実行します。プロセスが終了した場合にのみコマンドを実行したい。

ライブストリームのブロードキャスト中にffmpegのコマンドを使用したい。接続が失敗したり、その他の問題が発生したりすることがあります。それが起こると、ffmpegは(明らかに)実行を停止しますが、同じコマンドを何度も再試行したいと思います。

どうやってそれをしますか?

追伸私はすでにGoogleでこれらのキーワードを試しました(なぜ私はまだ近い答えを見つけられなかったのか分かりません):

  • macは失敗時にコマンドを実行します
  • macはコマンドを同期的に実行します
  • macbash再実行端末
  • macloopコマンド
  • 停止した場合、macはアプリケーションを再実行します
  • mac端末の保持プロセス
  • ターミナル中のbash
  • macターミナルループコマンド
  • ffmpeg無限
2
sparkle

Bashプロンプトからこれを試してください:

 n = 1;本当ですが; do echo -n "コマンド起動#$ n:";睡眠1; n = $((n + 1));完了

注:再起動する前にクリーンアップできるように、実際にはそこにsleep 1が必要な場合があります。

3
Hannu