腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
精选内容/技术社群/优惠产品,
尽在小程序
立即前往
文章
问答
视频
沙龙
2
回答
带有kill -9 PID的Linux终止进程
以ps和ps -ef为例,在Linux下使用kill-9 PID杀死一个进程后,如何验证该进程是否被杀死?
浏览 5
提问于2015-09-12
得票数 1
1
回答
多少是太多僵尸(坏)
目前在我的Linux上运行top,我看到了82个僵尸。一个小时后,我看到了128个僵尸。我知道僵尸是无害的,但多少是太多?它们能引起问题吗?
浏览 0
提问于2019-02-17
得票数 5
2
回答
僵尸,gdb无法连接,如何检查最后一次调用或回溯
、
、
、
、
我的应用程序在Linux机器上变成了僵尸,它不能被杀死,gdb也不能附加到它上,我不能调试。现在我想知道上一次调用的函数或回溯,有没有什么我可以得到的?在/proc/pid/stat下有什么我可以使用的信息吗?
浏览 1
提问于2012-06-28
得票数 0
5
回答
为什么必须为子进程使用` `wait()`?
、
尽管等待的linux手册页很好地解释了,您需要对子进程执行wait(),以便它们不会变成僵尸,但它根本没有说明原因。 我计划我的程序(这是我的第一个多线程程序,所以请原谅我的幼稚)围绕着一个for(;;)曾经循环,它启动子进程,这些子进程被exec()删除,并且肯定会自行终止。 我不能使用wait(NULL),因为这使得并行计算变得不可能,因此我可能不得不添加一个进程表来存储子pids,并且必须使用waitpid -不是立即使用,而是在经过一段时间之后-这是一个问题,因为子进程的运行时间从几微秒到几分钟不等。如果我太早使用waitpid,我的父进程会被阻塞,当我使用太晚的时候,我会被僵尸淹没,
浏览 1
提问于2011-12-29
得票数 16
回答已采纳
1
回答
工序表极限
、
、
我想知道linux中的Process是否有限制。能吃饱吗?如果是这样的话,我应该做些什么来创造空间(可能尝试删除僵尸进程的条目)?
浏览 0
提问于2020-05-14
得票数 2
回答已采纳
1
回答
WSL -僵尸进程的不同行为
、
我只是在WSL上玩僵尸进程。我写了一个很简单的程序: #include <stdio.h> #include <stdlib.h> #include <unistd.h> #define CHILD 0 int main(){ int p; p = fork(); if(p == CHILD){ printf("Kind-PID: %u\n", getpid()); exit(1); } else if(p &g
浏览 0
提问于2019-05-17
得票数 0
回答已采纳
6
回答
不能杀死僵尸进程
、
、
有没有办法杀死僵尸进程?我尝试过调用exit来终止该进程,甚至向该进程发送SIGINT信号,但似乎没有什么可以终止它。我正在为Linux编程。
浏览 4
提问于2011-06-14
得票数 9
回答已采纳
2
回答
即使在杀死所有的java进程之后,java <defunct>仍然存在。
、
、
、
、
执行以下命令以终止linux系统上的java进程。 ps -ef | grep java | grep -v grep | awk '{print $2}'| xargs kill -9 在此之后,当我检查正在运行的java进程时,我可以发现"java“进程仍然在运行。 如何杀死这些废弃的进程?
浏览 0
提问于2013-12-06
得票数 1
3
回答
如何使用wait()杀死僵尸进程
、
、
、
、
我有这样的代码,它需要一个父级来分叉3个子节点。 您如何知道(和)将"wait()"语句放置在何处以杀死 僵尸过程? 如果您有Linux虚拟盒,那么查看僵尸进程的命令是什么? main(){ pid_t子;pid_t约(“父”);printf(“现在.分叉!!\n");子=叉();int i=0;for (i=0;i<3;i++){ if (子< 0){ perror (“无法分叉”);}i++;}如果(子== 0) { printf (“创建子”#%d\n,(i+1));关于(“子”);中断;}}}{ pid_t me;pid_t oldone;m
浏览 3
提问于2015-02-11
得票数 6
回答已采纳
5
回答
如何确定进程的状态(例如,它是否为僵尸)
、
、
、
如何在Linux下使用C获取有关进程状态(例如,如果它是僵尸)的信息? 在阅读了到目前为止的答案之后,我想在一定程度上缩小我的问题范围:我更喜欢纯C解决方案。在阅读ps源代码(它是/proc/)之后,我认为应该有更好的方法,并在这里询问:)
浏览 34
提问于2009-03-11
得票数 2
回答已采纳
1
回答
C编程中“僵尸进程”的困惑
、
、
问题:我如何确定哪一个产生“僵尸过程” // Case 1 while(fork()) ; exit(0); // Case 2 while(!fork()) ; exit(0); 我知道“僵尸”是指进程终止并仍然消耗资源的时候。(或者至少我认为是这样的) 我认为,在这种情况下,会生成一个僵尸进程,因为它会在错误上返回-1,而(-1)= true,所以它只会继续分叉吗?我不太确定。任何洞察力都很好, 顺便说一句:这段代码是在c++编程语言的Linux环境中运行的。 提前感谢
浏览 1
提问于2016-04-27
得票数 1
回答已采纳
3
回答
在父c中等待()的目的
、
、
、
、
我对linux和c ++中的进程很陌生。 #include <stdio.h> #include <stdlib.h> #include <unistd.h> int main(int argc, const char * argv[]) { pid_t child_pid_or_zero = fork(); //fork returns twice if(child_pid_or_zero < 0) { //if fork returns a number smaller than zero, something wrong happe
浏览 7
提问于2016-10-11
得票数 0
回答已采纳
1
回答
为了调试目的跟踪[sh] <defunct>?
、
我有一个很大的应用程序(在C++中),它不时地生成失效的进程。我知道应用程序在内部密集地使用linux命令。我需要知道那些失效的sh进程调用了哪些linux命令,有可能找到答案吗?或者,当我的应用程序调用Linux命令时,可以设置Linux并获取某种日志吗? 谢谢。 卢克
浏览 0
提问于2011-01-18
得票数 2
2
回答
僵尸进程对嵌入式linux的影响
、
我正在开发一个程序(Grand父进程),它自动重新启动一个进程(父进程),在出现错误时调用另外两个进程(子进程)。 如果其中一个子进程处理行为不当,父进程将尝试优雅地关闭应用程序,而父进程将重新启动所有操作。但是,在出现错误或意外行为时,父进程: children)Restart 杀死父进程(这将杀死父进程)。 由于我的代码中可能有一个问题,父母进程以僵尸的形式存活下来,有时我发现我的嵌入式linux中有12或20个僵尸。我知道僵尸只使用很少的资源(如果我没有弄错的话:只是它们进入了处理表)。 我的问题是,僵尸的数量有理论上的限制吗?
浏览 3
提问于2021-09-13
得票数 1
回答已采纳
1
回答
在Windows上,我是否必须在调用WaitForSingleObject()之后调用CreateProcess()?
、
、
、
在Linux上,我必须在父进程上的wait()后调用fork(),否则子进程在完成后将一直处于僵尸状态,直到父进程完成为止。 --我想知道我是否必须在上遵循类似的步骤,也就是说,在调用CreateProcess()之后,是否必须调用WaitForSingleObject()。 我知道Windows‘CreateProcess()与Linux的fork()不同,看起来’僵尸‘是一个在Windows上不存在的UNIX/Linux概念。但是,也许我仍然必须调用WaitForSingleObject()来释放分配给CreateProcess()的一些操作系统资源,类似于Linux的情况。
浏览 2
提问于2021-10-28
得票数 1
回答已采纳
1
回答
在C (Linux)中创建僵尸进程
、
、
、
、
我的任务是创建僵尸进程。我的代码如下所示: #include <unistd.h> #include <stdlib.h> #include <stdio.h> #include <sys/types.h> #include <sys/wait.h> int main() { pid_t pid = fork(); if (pid == -1) { printf("error\n"); } else if (pid == 0)
浏览 15
提问于2021-10-23
得票数 1
1
回答
Dameon进程是否占用RAM中的内存,如果存在Daemons进程数,则INIT是所有守护进程的父进程。
、
、
、
、
#include <stdio.h> #include <signal.h> void my_isr(int n) { printf("in isr pid=%d ppid=%d signal#=%d\n",getpid(),getppid(),n); } main() { printf("hello %d and bash id : %d\n",getpid(),getppid()); signal(SIGHUP,my_isr); while(1); } achul@ac
浏览 2
提问于2015-11-24
得票数 0
回答已采纳
1
回答
gdb可以附加僵尸进程(<defunct>)吗?
、
、
我有一个像僵尸进程一样运行的程序。我想调试它。但是我得到了一个gdb错误。 mobile:/usr/local/ads5/bin# ps axf | grep ads_resolver 5583 pts/2 S 0:00 ./ads_resolver main.cfg 5584 pts/2 Zl 0:36 \_ [ads_resolver] <defunct> mobile:/usr/local/ads5/bin# gdb ads_resolver 5584 GNU gdb 6.8-debian Copyright (C) 2008 Free
浏览 0
提问于2011-03-29
得票数 2
回答已采纳
5
回答
在linux C++中杀死僵尸进程,了解PID
、
、
、
我必须在linux C中杀死/清除僵尸进程。我所知道的是僵尸进程的PID。 我在一个循环中创建了一些僵尸进程: int i = 0; for (i; i<5; i++) { system("(: & exec sleep 30) &"); // create zombie for 30 sec } 我可以使用以下命令获取它们的PID编号: system("ps aux | awk '{ print $8 " " $2 }' | grep -w Z"); 但是如何仅使用PID来杀死/清理它们呢?我将PID保
浏览 7
提问于2012-12-02
得票数 0
回答已采纳
5
回答
有没有办法识别哪个过程变成僵尸过程?
、
、
其中一个ubuntu服务器有82个僵尸进程。所有进程都将“sh失效”显示为进程命令。有没有办法找出哪个进程正在变成僵尸进程? 我试着检查/proc/PID/目录以获得一些僵尸进程的线索,但是所有文件都是空的。如何找出是谁让这个过程变成僵尸..。。还有别的办法能查出来吗? 更新/解决:使问题更清楚,并回答了我自己提出的问题。
浏览 0
提问于2012-03-07
得票数 6
回答已采纳
1
回答
如何将码头集装箱变成僵尸
、
几年前。当我刚开始玩码头的时候。我记得有一些博客文章提到,如果你不能很好地处理pid(1)过程。您将创建一个僵尸码头容器。在那个时候。我选择遵循这个建议,开始使用一个名为的init工具。我从来没见过僵尸容器被创建。 但我还是很好奇为什么这是个问题。如果我没记错,docker stop xxx默认情况下会将SIGTERM发送到容器pid(1)进程。如果进程不能在10s内优雅地停止(默认)。Docker将通过向pid(1)进程发送SIGKILL来强制杀死它。我也知道pid(1)进程在Linux系统中是特殊的。它可以忽略SIGKILL信号()。但我认为,即使进程在docker容器中的PID为1,也仅
浏览 0
提问于2018-07-04
得票数 0
1
回答
通过处理程序获取僵尸进程
、
、
、
下面编写的代码是通过父进程“从CMU的系统编程过程”来处理接收到的信号并收获僵尸。 Q1.-1的规则是“waitpid函数的第一个arg”吗?难道我们不应该通过我们正在收获的僵尸的pid吗? Q2.对于这里的循环,它是否在每次收到任何先例僵尸接收到的信号时检查所有僵尸? int ccount = 0; void child_handler2(int sig) { int child_status; pid_t pid; while ((pid = waitpid(-1, &child_status, WNOHANG)) > 0) { ccount--; safe_pr
浏览 1
提问于2018-01-14
得票数 1
回答已采纳
1
回答
即使在子进程已经结束之后,杀死()总是返回0(成功)吗?
、
、
在C++ (在Linux上运行)中,希望执行类似的操作来确定进程是否正在运行。 bool isnotrunning(pid_t pidnr) { if(pidnr <= 0) return true; if(kill(pidnr,0) == 0) return false; return true; } 然后在我的主旋律里,我知道 pid_t myPid = -1; while(1) { if(isnotrunning(myPID) { myPid = fork(); if(myPid == 0) { /*Do something in chi
浏览 2
提问于2020-05-12
得票数 0
回答已采纳
1
回答
强制父进程获取子进程<defunct>
、
、
我一直在拼命地试图从父母那里扼杀一个孩子的进程。 我试过: 1.杀死-15 pid 杀灭-shotgun pid 杀灭-9 pid 当linux中的ps -A时,它们都解决了将子进程写成:“失效”(僵尸)的问题。 我如何杀死这个过程,并迫使它从过程表中被清理。我必须清理它,因为它在process表中缺少记录,这就是我如何在代码中验证流程是否已死。 谢谢:-)
浏览 3
提问于2012-11-11
得票数 2
回答已采纳
1
回答
要找出问题该采取什么措施
、
、
远程linux /db服务器停止响应,托管公司刚刚重新启动它。我应该采取什么步骤来找出哪里出了问题?
浏览 0
提问于2010-11-04
得票数 0
2
回答
linux中的等待进程
、
、
、
我正在实现一个模拟Linux shell的程序,我有一个关于管道实现的问题(命令中只有一个管道的实现-在示例ls | grep中)- 我的主进程A在管道命令中派生并在其上创建进程B和waitpid。进程B反过来再次派生并创建进程C-然后B和C都使用execvp来转换为所需的命令。但是在这个实现中,没有人在等待C,C应该会创建一个僵尸进程。但奇怪的是,我在我的程序中没有看到任何僵尸。我需要一些帮助来理解为什么-因为我还需要泛化实现来支持命令中任意数量的管道,这意味着如果我继续当前的实现,我将有许多没有人等待的进程-所以我需要了解它是否正确,如果不是(很可能)如何修复它,这样我不仅可以在B上等待,
浏览 1
提问于2015-12-26
得票数 0
1
回答
我可以使用cron运行长进程或服务吗?
我需要一些进程启动时,电脑启动和永远运行。这些实际上不是守护进程。他们没有叉或妖魔化,但他们没有退出。我目前正在使用cron来使用@reboot指令启动它们,如下所示: @reboot /path/to/myProcess >>/logs/myProcess.log 这会导致cron守护进程出现任何问题吗?我想我可以尝试一下.&把新的过程从cron中分离出来,就像这样: @reboot nohup /path/to/myProcess >>/logs/myProcess.log & 这是必需的吗? 是否有其他更好的方法在系统启动时启动进程?我知道所有Li
浏览 2
提问于2013-09-06
得票数 0
回答已采纳
2
回答
这个程序是如何创建僵尸进程的?
、
、
、
下面的程序是如何工作的,并在linux下创建一个僵尸进程? #include <stdlib.h> #include <sys/types.h> #include <unistd.h> int main () { pid_t child_pid; child_pid = fork (); if (child_pid > 0) { sleep (60); } else { exit (0); } return 0; }
浏览 0
提问于2011-08-11
得票数 2
回答已采纳
1
回答
死后还活着,还活着-9 / SIGKILL
、
apache2进程卡在我的服务器上,导致其他服务出现问题。(原问题: USB硬件断开后的内核量) root@server:~# ps aux | grep apache2 | grep -v grep www-data 12917 0.0 0.1 412148 16156 ? D Jun27 0:00 /usr/sbin/apache2 -k start 很自然,我kill的。它还活着。所以我就kill -9了。它还“活着”。 这就是问题的所在:服务器故障/unix&linux的价值:是否有一种方法可以让端口443返回,而不做明显的事情:重新启动?安装了Ip
浏览 0
提问于2015-06-29
得票数 9
回答已采纳
1
回答
shell遗漏了Wait()
、
、
我在处理一些关于linux的面试问题时发现 如果shell省略了wait(),会发生什么?? 这个我不太确定shell或内核会显示什么样的行为,如果错过了wait(),请帮助。在adv中谢谢。
浏览 3
提问于2012-04-03
得票数 0
回答已采纳
1
回答
僵尸进程能被调度吗?
、
由于僵尸进程是释放了所有资源但仍存在于进程表中的进程,因为它们的父进程可能要求返回状态,所以它是Linux中的一个单独的状态,如就绪、等待等,还是与表中的正常等待进程一样,也可以调度?
浏览 0
提问于2016-09-14
得票数 0
1
回答
ptrace:附加到僵尸进程时不允许的操作
、
、
在重新构建包时,编译器实例进入僵尸状态,但gdb不允许我附加: serenity ~ # ps ax | grep defunct 11351 pts/1 Z+ 0:00 [x86_64-pc-linux] <defunct> 21838 pts/5 S+ 0:00 grep --colour=auto defunct serenity ~ # gdb -p 11351 GNU gdb (Gentoo 7.10.1 vanilla) 7.10.1 [snip] Attaching to process 11351 warning: process 113
浏览 0
提问于2017-05-30
得票数 1
4
回答
在c++中运行后台进程。
、
、
、
我想从c中的主函数中运行后台的子进程,我使用了叉函数和execv函数。但是,如果子进程尚未退出,我还希望在父进程结束时终止子后台进程。我将使用杀死(PChildPid)函数这样做。所以我的问题是 假设子进程在父进程之前就退出了,那么linux操作系统可以将与子进程相同的pid分配给其他进程吗?如果是的话,我会无意中扼杀这个过程?
浏览 5
提问于2013-09-20
得票数 3
回答已采纳
2
回答
太多PHP僵尸进程
、
、
我今天重新启动了apache守护进程,以重新加载配置文件,但之后,我开始看到系统上的许多php僵尸进程。数量从10到30不等,它们在死时都会占用一部分CPU。我应该从哪里开始调试这个问题? 我所做的修改是将每个孩子的最大请求从0(大量内存泄漏)减少到1000。我认为php进程来自一个从“哑”设备接收数据的脚本,即。他们发送带有GET参数的请求,而不关心结果。 一些数据: 不名-a # uname -a Linux <hostname> 2.6.32-71.29.1.el6.x86_64 #1 SMP Mon Jun 27 19:49:27 BST 2011 x86_64 x86_6
浏览 0
提问于2012-04-27
得票数 3
回答已采纳
2
回答
调用release_task()函数?
、
、
在Linux kernel中,进程终止后,通过调用release_task()函数将进程的process descriptor从系统中删除。 我相信当子进程终止时,父进程对子进程发出的wait()系统调用会调用release_task()函数。 假设父进程没有显式地发出wait()系统调用,如何调用release_task()函数和子进程的进程描述符释放?
浏览 1
提问于2011-06-08
得票数 0
回答已采纳
2
回答
如何仅等待()某些子进程并防止僵尸
、
、
、
、
我正试图在linux上用c++编写一个模拟shell,却被困在了这个问题上: 我需要在后台运行一些进程,在前台运行一些进程。为了防止前台进程变成僵尸,我可以使用wait(),但是如何防止后台进程变成僵尸呢?
浏览 0
提问于2018-11-24
得票数 1
回答已采纳
1
回答
Python芹菜查找任务(按pid )
、
、
一个非常直接的问题,也许是--我经常看到一个芹菜任务进程在我的系统上运行,当我使用celery.task.control.inspect()的active()方法时,我找不到它。通常这个进程会运行几个小时,我担心它是某种僵尸。通常它也会占用很多内存。 有没有办法通过linux的pid来查找任务?芹菜或AMPQ结果后端可以保存吗? 如果不是,有没有其他方法可以找出哪个特定的任务正在耗尽内存? -更新: 当active()告诉我在一个特定的机器上没有任务在运行,但是机器的内存已被完全使用,并且htop显示这些工作池线程正在使用它,但同时使用0%CPU时,我该怎么办?如果事实证明这与我当前racks
浏览 0
提问于2013-01-22
得票数 2
回答已采纳
5
回答
Linux:如何查找守护进程和僵尸进程列表
、
、
、
、
我试着在谷歌上查了一下,但我找不到太多与实际问题相关的信息。 如何获得僵尸进程和守护进程的合并列表?我如何在不同的操作系统上做到这一点。Linux?AIX?Windows? 我确信,基于PID,我们无法识别进程的类型。通过终端运行可能也无济于事。
浏览 0
提问于2013-08-01
得票数 17
1
回答
向/proc/loadavg进行调查
回顾linux加载平均文档(试图解决一个问题),我被问到是否是一种进程状态(僵尸进程?)会影响异常,导致我的系统负荷平均值高。那么僵尸过程会对我的问题产生负面影响吗?是否还有其他增加平均负荷的过程状态?
浏览 0
提问于2015-03-27
得票数 1
2
回答
在多个分支留下僵尸和进程挂起后,程序控制不返回
、
、
、
尝试在Linux中模拟|命令行参数的功能。我添加了下面的进程。我只是在运行ps aux | grep记事本。我之前在这里发布了,但是这个问题是不同的,因为我有正确的输出,我只是不希望进程挂起。 1000 4074 0.0 0.0 4392 824 pts/0 S+ 21:38 0:00 grep notepad 1000 4075 0.0 0.0 0 0 pts/0 Z+ 21:38 0:00 [ps] <defunct> 1000 4076 0.0 0.0 4944 1172 p
浏览 1
提问于2014-04-12
得票数 0
1
回答
杀死Java中调用的子进程的问题
、
、
在我的程序中,我调用一个Linux进程,读取该进程的输出,处理它,然后休眠直到下一次迭代。我遇到的问题是,即使在执行childProcess.destroy()时,我调用的进程也不会总是死掉。下面是代码: while(true) { Process childProcess = Runtime.getRuntime().exec("./getData"); InputStream input = childProcess.getInputStream(); BufferedReader inPipe = new BufferedReader(new Input
浏览 0
提问于2010-10-14
得票数 3
2
回答
背景、僵尸、守护进程和没有ctty --这些概念之间有关联吗?
、
、
、
、
这些过程概念是如何联系在一起的- background,zombie,daemon和without controlling terminal? 我觉得他们很亲密,特别是通过controlling terminal的概念,但是我仍然没有太多的信息可以讲述一个故事,比如如果你需要向一个孩子解释一些关于Linux的文章,而不需要太多的谎言。 更新#1:例如(我不知道这是否属实) background -- zombie -前台进程不能成为zombie,因为zombie是一个没有父进程的后台进程。 daemon -- without ctty --所有daemons都不带ctty运行,但并非所有没有c
浏览 0
提问于2017-03-21
得票数 8
回答已采纳
2
回答
在Java中处理SIGCHLD信号
、
、
、
我有一个Java进程,它(重新)启动一个Linux进程,这个进程产生两个守护进程并终止。(它是HAProxy的包装器,它被配置为具有2个进程的守护进程) 在每次重新启动时,进程表都会有另外两个僵尸进程。为了防止这些僵尸,我实现了以下内容: final static SignalHandler _signalHandler = new SignalHandler() { @Override public void handle(Signal signal) { LOG.info("Received signal: {}",signal.getNa
浏览 0
提问于2015-01-11
得票数 2
3
回答
Pidof找不到这个过程
、
我想找出一个shell脚本进程ID使用pidof或ps命令或任何。 我想要的只是它的过程。我使用过'pidof -x test.sh‘。这不起作用。注意:我不想调用/bin/sh或/bin/bash -因为脚本不能工作。如果我在脚本中调用/bin/sh,则pidof正在工作。 请帮帮忙
浏览 6
提问于2015-01-23
得票数 2
回答已采纳
1
回答
谁来做守护进程?
、
、
有各种技巧可以使linux进程守护进程,即在终端关闭后使命令运行。 nohup用于此目的,并且可以在C程序中使用fork()/setsid()组合来使其自身成为守护进程。 以上是我对linux守护进程的了解,但今天我注意到,退出终端并不能真正终止在命令末尾使用&启动的进程。 $ while :; do echo "hi" >> temp.log ; done & [1] 11108 $ ps -ef | grep 11108 username 11108 11076 83 15:25 pts/0 00:00:05 /bin/sh usern
浏览 0
提问于2012-12-06
得票数 1
回答已采纳
3
回答
防止子进程成为孤立进程
、
、
、
我的Linux进程有4个子进程。执行一段时间后,init进程采用的所有子进程。我们如何防止这种情况?(僵尸进程不是这种情况)。 该过程是用C语言编写的,操作系统是Linux。我的代码调用waitpid!可能的问题是什么?在99,99%的情况下,我们没有这个问题。 最后更新:如果有人执行"kill -9“怎么办?这会立即终止父进程,并留下子进程为孤立进程。
浏览 6
提问于2011-07-25
得票数 2
回答已采纳
1
回答
僵尸在巴什
、
巴斯似乎不会制造僵尸。看起来这些过程在被杀死后马上就会被收获。 我能做巴什做僵尸吗? 我为什么要问: 我希望能够安全地杀死一个子进程,或者安全地kill -9它,如果它没有在一定的时间内死亡,但是我不想意外地破坏一个不是我的子进程的进程。僵尸过程通常使它非常容易和种族条件安全。
浏览 0
提问于2015-07-22
得票数 14
4
回答
无法清除父进程为init的僵尸进程
、
、
我有一个僵尸进程: $ ps aux | grep Zl root 6641 122 0.0 0 0 ? Zl 08:57 371:10 [ovs_dpdk] <defunct> 而且,它的父对象看起来像init $ pstree init─┬─acpid ├─atd ├─cron ├─dbus-daemon ├─dnsmasq ├─6*[getty] ├─irqbalance ├─libvirtd───10*[{libvirtd}] ├─ovs_dpdk───{ovs_dpdk}
浏览 0
提问于2013-12-12
得票数 5
1
回答
如何在Linux内核中创建多个僵尸?
、
我正在为一个在Linux内核中寻找僵尸并收割僵尸的类写一个项目。 我已经找到了创建单个僵尸的代码,该僵尸在wait()之后收获,但我的程序必须收获很多僵尸,大约1000个。 我对内核操作/多线程非常陌生,我在网上找到的关于僵尸的资源要么太技术性,要么模棱两可。 这是我使用的代码: pid_t child_pid; child_pid = fork (); if (child_pid > 0) { sleep (60); } else { exit (0); } 再一次,我的问题是:我应该
浏览 0
提问于2013-02-15
得票数 0
回答已采纳
1
回答
SIGCHLD的默认配置与显式将配置设置为SIG_IGN之间有什么区别?
、
Linux编程接口显示 26.3.1为SIGCHLD建立一个处理程序SIGCHLD信号在其子进程中的任何时候发送给父进程。默认情况下,这个信号会被忽略,但是我们可以通过安装一个信号处理程序来捕捉它。在信号处理程序中,我们可以使用wait() (或类似的)来获取僵尸子类。然而,在这种方法中有一个微妙之处需要考虑。26.3.3忽略死子进程还有处理死子进程的进一步可能性。显式地将SIGCHLD的配置设置为SIG_IGN将导致随后被ter- minate的任何子进程被立即从系统中删除,而不是被转换为僵尸。在这种情况下,由于子进程的状态被简单地丢弃了,随后对wait() (或类似的)的调用将无法返回任何
浏览 0
提问于2020-12-08
得票数 -1
回答已采纳
扫码
添加站长 进交流群
领取专属
10元无门槛券
手把手带您无忧上云
相关
资讯
Linux系统编程——特殊进程之僵尸进程
Linux中4 个简单的找出进程 ID的方法
多进程编程中父进程如何回收僵尸进程
如何找到并杀死Linux数据中心服务器上的僵尸进程?
Linux进程管理
热门
标签
更多标签
云服务器
ICP备案
对象存储
腾讯会议
实时音视频
活动推荐
运营活动
广告
关闭
领券