私は多くのプロセスを起動してアプリケーションを起動します。私は起動するためにスクリプト(bash)を使います。プロセスを並行して開始するkill
- filemaneがある:
start.sh
と私はstart.sh
に - スクリプトを実行するために
sudo ./start.sh
を使用している:
#!/bin/sh sudo p1 > p1.txt && p2 > p2.txt && p3 > p3.txt
私はctrl-c
を使用ではなく、すべてのプロセスが停止する私のアプリを停止します。私はps aux | less | grep ...
と見つけることができることを知っています、これは長く見えますが、私のプロセスを止めるのが簡単であるかどうかを知りたいのです。それはあなたがあなたのスクリプトで起動するプロセス名を知っている場合、あなたはすべて殺すこのような何かを行うことができ、この代わりに、(一つだけ&)
sudo f1/p1.py > logs/p1.txt & sudo f2/p2.sh > logs/p2.txt & sudo nodemon f3/p3.js > logs/p3.txt
'PS && P2 && P3 ...'、そしてあなたは、唯一のプロセスがで実行しています時間。 p1が正常に完了すると、p2が開始されます。 – anishsane
また、 'start.sh'は' sudo'で始まったので、 'sudo'で' p1'を明示的に起動する必要はありません。 – anishsane
これらの個々のプロセスが 'ctrl + c'(またはより正確には' SIGINT')にどのように反応するかは、そのアプリケーションがどのようにコード化されているかに依存します。 'SIGINT'を処理して、それがどのようにコード化されているかに基づいて、成功または失敗で終了することができます。 'ctrl + c'(SIGINTを渡す)を押してもプロセスが終了するわけではありません。それは通常の/共通の行動ですが、そのように行動することは必須ではありません。 – anishsane