我通過啓動很多進程來啓動我的應用程序,我使用腳本(bash)啓動它。殺死進程並行啓動
- 的filemane是:
start.sh
我用sudo ./start.sh
運行 - 腳本在
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