- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
kill - does it kill the process right away?
我找到了答案,并为 SIGCHLD
设置了一个信号处理程序,并在该处理程序中引入了 wait
。这样,无论何时父进程kill
一个子进程,都会调用此处理程序并调用wait
来获取 子进程。 - 动机是清除进程表条目。
我仍然看到一些子进程运行了几秒钟,即使它的父进程没有死。 - 这怎么可能?
我是通过 ps
看到的。精确地 ps -o user,pid,ppid,command -ax
和 greping 用于父进程、子进程和 defunct。
最佳答案
进程在退出时立即失效(僵尸)(从信号、调用 exit
、从 main
返回,等等)。它会一直保持僵尸状态,直到它的父级等待
。
因此,所有进程在退出时至少会暂时变成僵尸。
如果父进程在调用 wait
之前需要一点时间(因为它正在做其他工作,或者只是因为调度程序还没有给它 CPU 时间),那么你会看到僵尸就一点点。如果父进程从不调用 wait
,那么当它最终退出时,init
(pid 1) 将收养它的僵尸子进程,并对它们调用 wait
.
关于子进程可以 <defunct> 而父进程不死吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8481803/
kill - does it kill the process right away? 我找到了答案,并为 SIGCHLD 设置了一个信号处理程序,并在该处理程序中引入了 wait。这样,无论何时父进
我一直在拼命地试图从父进程中杀死一个子进程。 我试过:1. kill -15 pid kill -shotgun pid kill -9 pid 他们都决定将子进程写成:在 linux 中使用 ps
如果没有运行,我当前的 cronjob 将启动 beaver: #!/bin/bash pgrep -l -x beaver || /usr/sbin/service beaver start 我想修
关闭。这个问题是off-topic .它目前不接受答案。 想改进这个问题吗? Update the question所以它是on-topic用于堆栈溢出。 关闭 11 年前。 社区在 7 个月前 审
我执行从主控主机到从属主机的 ZFS 远程复制,其中我有一个在主控主机上运行的 Perl 脚本。 对于每个文件系统,它通过 ssh 连接到远程主机并以监听模式启动 mbuffer,然后脚本继续执行并发
我在我的应用程序中显示了一些动画自定义画家进度条,它显示了一些错误 Error: The following assertion was thrown while notifying listener
我有一个以僵尸进程运行的程序。我想调试它。但是我遇到了 gdb 错误。 mobile:/usr/local/ads5/bin# ps axf | grep ads_resolver 5583 pts
希望在 C++ 中 fork 一个不会挂起其父进程的进程 - 它的父进程是守护进程并且必须保持运行。如果我在 fork 进程上等待(), fork 的 execl 不会失效 - 但是 - 它也会挂起应
我正在开发一个使用 fork() 执行各种任务的程序.我正在启动程序,一切正常。我观察到一段时间后(1 天)我被 淹没了进程,超过 600 700 ... 其中 max forks 设置为 500。
我制作了一个 PHP 脚本,它读取一些数据并使用 pctnl_fork 启动一个新进程来处理数据。子进程完成后,它们将保留为进程。 ps aux 向我显示进程列表,例如 demo 3222
我有一些 python 多处理代码,父进程启动了一堆子工作进程,然后在一段时间后终止它们: from multiprocessing import Process nWorkers = 10 curW
僵尸进程和死进程有区别吗?我找到了维基百科文章,其中写道这两个是相同的。在那种情况下,为什么需要为同一过程设置 2 个不同的术语: https://en.wikipedia.org/wiki/Zomb
错误会在两个区域引发(并且应用程序卡住(当应用程序最小化,单击电话后退按钮或在flutter应用程序顶部运行另一个应用程序时。flutter版本:1.20.2(以前的版本没有此问题):这两个功能是:
我有超过 30 个进程 '[avconv] '(我在脚本中有一个错误),使用这个命令我找到了这些进程: Ps aux | grep '\[avconv\] ' 但我不知道如何终止这些进程,有人知道如何
执行以下命令来终止 Linux 系统上的 java 进程。 ps -ef | java | grep | grep -v grep | grep -v awk '{print $2}'| xargsk
我正在使用 cron 运行以下脚本,在/etc/cron.d/mycron 我有以下内容: */10 * * * * MyUserThatNeedsToRunTheScript /backup/ssh
我正在学习 fork 和 exec,并使用 fork 和 execlp 创建多个子进程,我在子进程中所做的只是让它休眠。基本上我只希望我所有的 child 都活着。但是,一旦我启动创建进程的 moni
我们先来看看现象 Nodejs 代码: const cp = require('child_process'); var ls = cp.spawn('ls', ['/']); ls.stdout.o
这里有很多帖子(例如 https://unix.stackexchange.com/questions/217507/zombies-in-bash)展示了如何在 bash 或 c 中创建僵尸进程。我
文件协议(protocol)是否有效失效? 如果内联网服务器可以生成如下链接,那将对我非常有用 由于它是一个内部 Intranet 应用程序,服务器和用户的系统共享对同一文件存储的访问,因此这是明
我是一名优秀的程序员,十分优秀!