バックグラウンドで実行されているnpmスクリプトを自動的に停止する方法

franleplant

npmスクリプトを使用していますが、並行して実行する必要のあるスクリプトがいくつかあります。私はこのようなものを持っています:

...
scripts: {
   "a": "taskA &",
   "preb": "npm run a",
   "b": "taskB"
}
...

これで結構です!しかし、taskBが終了した後、バックグラウンドを実行しているtaskAを自動的に強制終了したいと思います。

どうやってやるの?ありがとう!

ロブ・ライシュ

npmがプロセス間の複雑な関係を管理するための最良のツールであるとは思いません。

child_processおそらくを使用して、ノードのモジュールを使用してコプロセスの起動と強制終了を管理するノードスクリプトを作成することで、はるかに優れたサービスを提供できますspawn

そうは言っても、常に直接的で使いやすい答えを提供しようとする精神で。

npmスクリプトを次のように構成できます(bashシェルを想定):

scripts:{
    runBoth: "npm runA & npm runB",     // run tasks A and B in parallel
    runA:    "taskA & TASKA_PID=$!",    // run task A and capture its PID into $TASKA_PID
    runB:    "taskB && kill $TASKA_PID" // run task B and if it completes successfully, kill task A using its saved PID
}

ここでの唯一の「魔法」はそれです:

  1. bashシェルを使用してバックグラウンドでコマンドを実行すると(これは&、最後に追加する発生します)、を使用してPIDを検出できますが$!、コマンドの実行直後に限ります。高度なBashスクリプトガイド:第9章変数の別の見方-9.1。その説明については内部変数参照してください。)
  2. taskB&&テストが正しく処理されるように、成功した場合はprocess.exit(0)を、失敗した場合はprocess.exit(-1)を呼び出す必要があります(詳細については、この回答参照してください。)

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

バックグラウンドでbashスクリプトを自動的に実行する方法は?

分類Dev

Macのバックグラウンドで実行されているPythonスクリプトを中断するにはどうすればよいですか?

分類Dev

macOSでbashスクリプトを見つけるためにpgrepする方法(またはバックグラウンドで実行されているスクリプトをプログラムで強制終了する方法)?

分類Dev

アプリが開いて実行されている場合にのみ、バックグラウンドでメソッドを実行する方法は?

分類Dev

アプリが開いて実行されている場合にのみ、バックグラウンドでメソッドを実行する方法は?

分類Dev

アプリが開いて実行されている場合にのみ、バックグラウンドでメソッドを実行する方法は?

分類Dev

アプリがバックグラウンドで実行されているときにFCMメッセージとタイトルを処理する方法

分類Dev

bashスクリプトは、バックグラウンドで実行されているかどうかをどのように検出できますか?

分類Dev

Pythonスクリプトがバックグラウンドプロセスとして実行されているかどうかを検出する方法

分類Dev

コマンドを/ etc / profileに追加して、Raspberry Piの起動時にPythonスクリプトを実行しようとすると、Pythonスクリプトがバックグラウンドで2回実行されるのはなぜですか?

分類Dev

Qpython3でバックグラウンドで実行されているスクリプトを停止するにはどうすればよいですか?

分類Dev

PIDのみを使用して、バックグラウンドで自動ホットキースクリプトを実行するにはどうすればよいですか?

分類Dev

バックグラウンドプロセスとして実行されているPythonスクリプトをファイルに出力する

分類Dev

バックグラウンドでループが実行されている間にbashを停止するにはどうすればよいですか?

分類Dev

バックグラウンドで実行されているプログラムでstdinputを渡す方法は?

分類Dev

Cordova:アプリがバックグラウンドで実行されているときにイベントを実行する

分類Dev

Chrome拡張機能でバックグラウンドスクリプトを動的に実行するにはどうすればよいですか?

分類Dev

バックグラウンドで実行されているプロセスにコマンドをパイプする方法は?

分類Dev

アプリが強制停止されている場合でもサービスを再起動し、アプリを閉じた後もバックグラウンドでサービスを実行し続ける方法

分類Dev

ionic / cordova / phonegapでフォアグラウンドまたはバックグラウンドで実行されているアプリを確認する方法

分類Dev

BroadcastReceiverでアプリがフォアグラウンドのバックグラウンドで実行されていることを確認する方法

分類Dev

スリープモードのモバイルネットワークで実行されているサービスをバックグラウンドで実行するにはどうすればよいですか?

分類Dev

Androidアプリが閉じている/バックグラウンドに設定されているときにバックグラウンドタスクを実行するにはどうすればよいですか?

分類Dev

パイプされたbashスクリプトをバックグラウンドで実行する

分類Dev

Tclスクリプトがバックグラウンドプロセスで実行されているかどうかを検出します

分類Dev

npmスクリプトからバックグラウンドでhttpサーバーを実行する

分類Dev

すでにバックグラウンドで実行されているプロセスでnohupを使用する方法

分類Dev

AWSでバックグラウンドサービスとしてPHPスクリプトを実行するにはどうすればよいですか?

分類Dev

バックグラウンドで実行されているシェルスクリプトを強制終了する

Related 関連記事

  1. 1

    バックグラウンドでbashスクリプトを自動的に実行する方法は?

  2. 2

    Macのバックグラウンドで実行されているPythonスクリプトを中断するにはどうすればよいですか?

  3. 3

    macOSでbashスクリプトを見つけるためにpgrepする方法(またはバックグラウンドで実行されているスクリプトをプログラムで強制終了する方法)?

  4. 4

    アプリが開いて実行されている場合にのみ、バックグラウンドでメソッドを実行する方法は?

  5. 5

    アプリが開いて実行されている場合にのみ、バックグラウンドでメソッドを実行する方法は?

  6. 6

    アプリが開いて実行されている場合にのみ、バックグラウンドでメソッドを実行する方法は?

  7. 7

    アプリがバックグラウンドで実行されているときにFCMメッセージとタイトルを処理する方法

  8. 8

    bashスクリプトは、バックグラウンドで実行されているかどうかをどのように検出できますか?

  9. 9

    Pythonスクリプトがバックグラウンドプロセスとして実行されているかどうかを検出する方法

  10. 10

    コマンドを/ etc / profileに追加して、Raspberry Piの起動時にPythonスクリプトを実行しようとすると、Pythonスクリプトがバックグラウンドで2回実行されるのはなぜですか?

  11. 11

    Qpython3でバックグラウンドで実行されているスクリプトを停止するにはどうすればよいですか?

  12. 12

    PIDのみを使用して、バックグラウンドで自動ホットキースクリプトを実行するにはどうすればよいですか?

  13. 13

    バックグラウンドプロセスとして実行されているPythonスクリプトをファイルに出力する

  14. 14

    バックグラウンドでループが実行されている間にbashを停止するにはどうすればよいですか?

  15. 15

    バックグラウンドで実行されているプログラムでstdinputを渡す方法は?

  16. 16

    Cordova:アプリがバックグラウンドで実行されているときにイベントを実行する

  17. 17

    Chrome拡張機能でバックグラウンドスクリプトを動的に実行するにはどうすればよいですか?

  18. 18

    バックグラウンドで実行されているプロセスにコマンドをパイプする方法は?

  19. 19

    アプリが強制停止されている場合でもサービスを再起動し、アプリを閉じた後もバックグラウンドでサービスを実行し続ける方法

  20. 20

    ionic / cordova / phonegapでフォアグラウンドまたはバックグラウンドで実行されているアプリを確認する方法

  21. 21

    BroadcastReceiverでアプリがフォアグラウンドのバックグラウンドで実行されていることを確認する方法

  22. 22

    スリープモードのモバイルネットワークで実行されているサービスをバックグラウンドで実行するにはどうすればよいですか?

  23. 23

    Androidアプリが閉じている/バックグラウンドに設定されているときにバックグラウンドタスクを実行するにはどうすればよいですか?

  24. 24

    パイプされたbashスクリプトをバックグラウンドで実行する

  25. 25

    Tclスクリプトがバックグラウンドプロセスで実行されているかどうかを検出します

  26. 26

    npmスクリプトからバックグラウンドでhttpサーバーを実行する

  27. 27

    すでにバックグラウンドで実行されているプロセスでnohupを使用する方法

  28. 28

    AWSでバックグラウンドサービスとしてPHPスクリプトを実行するにはどうすればよいですか?

  29. 29

    バックグラウンドで実行されているシェルスクリプトを強制終了する

ホットタグ

アーカイブ