问题标签 [defunct]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
6 回答
28685 浏览

bash - 为什么 cron 生成的进程最终会失效?

我有一些进程显示为<defunct>topps)。我已经从真实的脚本和程序中总结了一些东西。

在我的crontab

的内容launcher.sh(当然标记为可执行):

的内容tester.sh(当然标记为可执行):

ps显示以下内容:

请注意,tester.sh不会出现 - 它在启动后台作业后已退出。

为什么launcher.sh坚持,标记<defunct>?它似乎只在由 --cron而不是我自己运行它时启动。

附加说明:launcher.sh是本系统运行的常用脚本,不易修改。其他的东西(crontab, tester.sh,甚至是我运行的程序而不是sleep)可以更容易地修改。

0 投票
1 回答
1774 浏览

fedora - init 从不收获僵尸/失效进程

在我的内核为 2.6.18 的 Fedora Core 9 网络服务器上,init 没有收获僵尸进程。如果不是进程表最终达到无法分配新进程的上限,这将是可以忍受的。

的样本输出ps -el | grep 'Z'

这是操作系统错误吗?配置错误?我正在寻找有关此问题根源的灵感。谢谢

0 投票
7 回答
19607 浏览

css - 如何从臃肿的样式表中识别和消除未使用的 CSS 样式?

我有一个旧样式表,现在充满了未使用的样式。问题是从不必要的中识别必要的。有什么工具可以帮助解决这个问题吗?

0 投票
3 回答
82 浏览

database - 为什么在客户完成下订单之前生成订单数据库记录?

我正在使用一个订购系统,并试图首先了解它为什么会这样设计。

我无法理解的一件事是,为什么系统甚至在客户下订单之前就Order为潜在客户创建了独特的记录。

因此,发生的情况是订单进入并选择他们想要购买的东西,然后在Place your order显示按钮之前,已经为潜在客户保存了订单记录。

这样做的影响——这让我感到困扰——系统中有成千上万个被放弃的订单,用户从未点击过最终Place your order按钮来完成销售。

订单记录不应该在用户点击“Place your order”后才生成吗?为什么不这样做?

0 投票
2 回答
17043 浏览

c - C: Exec/fork > 已失效的进程

我想使用 fork > exec 过程创建很多子进程。许多进程都很快结束(不到两分钟,有些甚至更早)。

我的第一个问题是,我将生成过程置于后台

到目前为止,一切都很好。现在我再也看不到 spawnbot 的任何消息,它们直接进入 logging.txt。但是,每当创建一个新孩子时,我都会再次在我的控制台中看到有关该孩子的所有信息。我现在想用它自己的管道启动每个孩子 - 有没有更好的方法不让孩子在整个过程中发布他们的输出消息安慰?我应该将它重定向到 /dev/null 还是使用 C 中的某些标志来完成?

其次,并不是所有的孩子都真的被杀了。我的 ps -ef 中有很多进程。我能做些什么呢?我该怎么做

0 投票
3 回答
2045 浏览

c - kill - 它会立即终止进程吗?

究竟kill是做什么的?

我有一个父进程,它一个接一个地创建 100 个(例如)子进程。在任何孩子的工作结束时,我都会杀死孩子,但我在输出kill(pid_of_child, SIGKILL)中看不到它。ps但是,如果父进程出现问题并且我退出父进程exit(1)(此时只有 1 个子进程 - 我可以检查ps),那么我会看到很多<defunct>进程ppid属于pid父进程。

这怎么可能?没有kill完全杀死子进程?

0 投票
2 回答
4669 浏览

c - 子进程可以去吗没有它的父进程死亡?

kill - 它会立即终止进程吗?

我找到了答案,并为该处理程序设置SIGCHLD并引入了信号处理wait程序。这样,每当父进程kill成为子进程时,都会调用此处理程序并调用wait获取子进程。- 动机是清除进程表条目。

我仍然看到一些子进程运行了几秒钟,即使它的父进程没有死亡。- 这怎么可能?

我通过ps. 准确地ps -o user,pid,ppid,command -ax和greping父进程,子进程和已失效。

0 投票
0 回答
230 浏览

apache - CGI 进程失效的原因

我想检查是否可以通过任何 apache 日志跟踪 CGI 程序何时被调用或结束。

如果我使用 javascript 每 2 秒重新加载一个 CGI 程序,并且在该 CGI 程序中,它会检查并执行一系列与 SQL 的连接,我希望在我的 SQL API 尝试时确定 CGI 进程是否已经结束向该 CGI 进程返回 SQL 状态,从而导致进程失效?

我能否追踪 CGI 进程结束的时间?什么时候通过任何 apache 日志调用 CGI 进程?

需要大家的建议。

谢谢。

0 投票
1 回答
6285 浏览

php - pcntl_fork() 导致父进程失效

所以,我有这个监听 IPC 消息的 PHP 守护进程。奇怪的是,父进程(来自 pcntl_fork 的结果)留下一个 [php] < defunct> 进程,直到子进程完成,但仅当脚本从 cronjob 启动时,而不是直接从命令行启动。

我知道 <defunct> 进程并不邪恶,但我无法弄清楚为什么它只在从 cronjob 运行时发生。

命令

分叉代码:

输出

ps辅助| grep php

我发现这是一个已知的 apache 错误,但是为什么从 cronjob 运行时会出现这个错误?

0 投票
1 回答
10426 浏览

python - 在无限循环中停止附加到队列的python多处理工作者的最干净方法是什么?

我在 python 中使用multiprocessing.Pooland实现生产者-消费者模式multiprocessing.Queuegevent消费者是用于生成多个任务的预分叉进程。

这是一个精简版的代码:

现在,当我尝试退出它时,我得到以下状态:

  1. 父进程正在等待其中一个子进程加入。
  2. 其中一名儿童处于死亡状态。如此完成,但父母正在等待其他孩子完成。
  3. 其他孩子正在显示:futex(0x7f99d9188000, FUTEX_WAIT, 0, NULL ...

那么干净地结束这样一个过程的正确方法是什么?