- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在编写一个基于 Phusion baseimage 的小型 Docker 容器它提供开箱即用的 runit。
我将 Cassandra 和 Opscenter 代理放入我的容器中。两者都作为/etc/service 下的服务启动(如文档中所示)。
这blog post提到 my_init 会收集僵尸进程,但对它对孤儿进程的作用含糊不清。
这是我的 Docker 容器中 ps -ef
的示例输出:
UID PID PPID C STIME TTY TIME CMD
root 1 0 0 06:05 ? 00:00:00 /usr/bin/python3 -u /sbin/my_init
root 27 1 0 06:05 ? 00:00:00 /usr/bin/runsvdir -P /etc/service
root 28 27 0 06:05 ? 00:00:00 runsv sshd
root 29 27 0 06:05 ? 00:00:00 runsv syslog-ng
root 30 27 0 06:05 ? 00:00:00 runsv cron
root 31 27 0 06:05 ? 00:00:00 runsv cassandra
root 32 27 0 06:05 ? 00:00:00 runsv syslog-forwarder
root 33 27 0 06:05 ? 00:00:00 runsv opscenter-agent
root 34 32 0 06:05 ? 00:00:00 tail -F -n 0 /var/log/syslog
root 35 30 0 06:05 ? 00:00:00 /usr/sbin/cron -f
root 36 29 0 06:05 ? 00:00:00 syslog-ng -F -p /var/run/syslog-ng.pid --no-caps
root 37 31 43 06:05 ? 00:00:10 java -ea -javaagent:/usr/share/cassandra/lib/jamm-0.3.0.jar -XX:+CMSClassUnloadingEnabled -XX:+UseThreadPriorities -XX:ThreadPrio
root 38 33 0 06:05 ? 00:00:00 /bin/bash /usr/local/opscenter/datastax-agent-5.2.0/bin/datastax-agent -f
root 471 38 51 06:05 ? 00:00:11 /usr/lib/jvm/jre1.8.0_51/bin/java -Dagent-foreground=yes -Xmx128M -Djclouds.mpu.parts.magnitude=100000 -Djclouds.mpu.parts.size=1
root 494 0 0 06:05 ? 00:00:00 bash
root 761 494 0 06:05 ? 00:00:00 ps -ef
注意 runsv opscenter-agent
(pid 33) 启动一个子进程,它是一个带有子进程 (pid 471) 的 bash 调用 (pid 38)。
然后我运行了 sv stop opscenter-agent
和 ps -ef
:
UID PID PPID C STIME TTY TIME CMD
root 1 0 0 06:05 ? 00:00:00 /usr/bin/python3 -u /sbin/my_init
root 27 1 0 06:05 ? 00:00:00 /usr/bin/runsvdir -P /etc/service
root 28 27 0 06:05 ? 00:00:00 runsv sshd
root 29 27 0 06:05 ? 00:00:00 runsv syslog-ng
root 30 27 0 06:05 ? 00:00:00 runsv cron
root 31 27 0 06:05 ? 00:00:00 runsv cassandra
root 32 27 0 06:05 ? 00:00:00 runsv syslog-forwarder
root 33 27 0 06:05 ? 00:00:00 runsv opscenter-agent
root 34 32 0 06:05 ? 00:00:00 tail -F -n 0 /var/log/syslog
root 35 30 0 06:05 ? 00:00:00 /usr/sbin/cron -f
root 36 29 0 06:05 ? 00:00:00 syslog-ng -F -p /var/run/syslog-ng.pid --no-caps
root 37 31 19 06:05 ? 00:00:11 java -ea -javaagent:/usr/share/cassandra/lib/jamm-0.3.0.jar -XX:+CMSClassUnloadingEnabled -XX:+UseThreadPriorities -XX:ThreadPrio
root 471 1 20 06:05 ? 00:00:11 /usr/lib/jvm/jre1.8.0_51/bin/java -Dagent-foreground=yes -Xmx128M -Djclouds.mpu.parts.magnitude=100000 -Djclouds.mpu.parts.size=1
root 494 0 0 06:05 ? 00:00:00 bash
root 768 494 0 06:06 ? 00:00:00 ps -ef
请注意,pid 38 已消失,但 pid 471 现在附加到 my_init
。
这是正确的行为吗?应该怎么做才能reap子进程?
最佳答案
my_init
采用孤立进程并获取它们。但是你误解了“收割”的意思。 my_init
没有告诉它退出; my_init
仅等待 直到它退出。您(或进程)仍然有责任确保它退出。
关于linux - runit 会获取孤儿进程吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31668752/
我四处寻找是否有任何合适的方法来处理 CSS3 多列中的寡妇和孤儿,但很失望地发现没有。我自己尝试了 widow 和 orphan 属性,但它们什么也没做。 有人知道使用 CSS3 多列并处理寡妇和孤
从 Blobstore 中删除孤立 blob 的最有效方法是什么? 应用功能和范围: 一个(已登录)用户想要创建一个包含一些常规内容的帖子数据存储区字段(例如姓名、姓氏、评论)和 blob(图像)。
从 Blobstore 中删除孤立 blob 的最有效方法是什么? 应用功能和范围: 一个(已登录)用户想要创建一个包含一些常规内容的帖子数据存储区字段(例如姓名、姓氏、评论)和 blob(图像)。
我可以使用哪种级联类型以及在何处让 Hibernate 在不再有“事物”引用图像时自动删除该图像? (基本上就是 Hibernate 中的垃圾收集) 数据库:事物表-图像表,是多对一的,所以很多事物可
我是一名优秀的程序员,十分优秀!