我正在运行生成 3 个配置文件的 foreman export upstart
。
即使我以并发值 1 导出,我也可以看到正在启动三个 unix 进程:
$ sudo start tomcat
tomcat start/running
$ initctl list | grep tomcat
tomcat start/running
tomcat-web-1 start/running, process 3966
tomcat-web start/running
$ ps -ax | grep tomcat
3966 ? Ss 0:00 su - someUser -c cd /opt/tomcat; export PORT=xxx; export PORT=xxx; export PATH=xxx; export JAVA_OPTS=xxx; export MAVEN_OPTS=xxx; ./webapp-runner.sh >> /var/log/tomcat/web-1.log 2>&1
3977 ? S 0:00 -su -c cd /opt/tomcat; ... ./webapp-runner.sh >> /var/log/tomcat/web-1.log 2>&1
3978 ? S 0:00 -su -c cd /opt/tomcat; ... ./webapp-runner.sh >> /var/log/tomcat/web-1.log 2>&1
为什么会这样?这是否意味着标准应用程序 (tomcat) 端口(如 8080)在所有 3 个进程都被终止之前不会被释放?
最佳答案
正如我在回复您的 other question 时提到的,您正在查看不代表您的 Tomcat Java Web 服务器的错误进程集。您只需要更改为 grep java 而不是 grep tomcat,您就会看到只有一个进程在运行。
关于tomcat - 为什么 Upstart 的工头导出运行 3 个 unix 进程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15214595/