我通过启动很多进程来启动我的应用程序,我使用脚本(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