腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
精选内容/技术社群/优惠产品,
尽在小程序
立即前往
文章
问答
视频
沙龙
5
回答
在UNIX系统上终止已死的进程
、
、
、
我的系统上有一个废弃的进程: abc 22093 19508 0 23:29 pts/4 00:00:00 grep ProcA abc 31756 1 0 Dec08 ? 00:00:00 [ProcA_my_collect] <defunct> 如何在不重启机器的情况下终止上述进程?我已经尝试过 kill -9 31756 sudo kill -9 31756
浏览 0
提问于2008-12-10
得票数 51
回答已采纳
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
3
回答
如何在linux上终止running for循环?
、
我在Linux上工作,我在Linux终端上执行了for循环,如下所示: for i in `cat fileName.txt` do echo $i vim $i done fileName.txt是一个包含我在vim编辑器中一个接一个打开的大量文件条目的文件。现在,我必须跳过打开中间的其他文件。(即,我必须中断for循环)。有什么建议如何获得运行for循环的PID吗?然后杀掉同样的人。提前谢谢。
浏览 0
提问于2012-05-07
得票数 7
2
回答
僵尸,gdb无法连接,如何检查最后一次调用或回溯
、
、
、
、
我的应用程序在Linux机器上变成了僵尸,它不能被杀死,gdb也不能附加到它上,我不能调试。现在我想知道上一次调用的函数或回溯,有没有什么我可以得到的?在/proc/pid/stat下有什么我可以使用的信息吗?
浏览 1
提问于2012-06-28
得票数 0
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
2
回答
Perl fork()、exec(),然后终止创建僵尸进程
、
我正在尝试使用fork,exec在perl中启动android模拟器。之后,我也需要杀死它,但杀死它会导致在后台运行模拟器的僵尸进程。 我已经尝试过使用kill -1、kill -9和killall -v emulator来杀掉它。我也尝试过通过附加exec("exec command ...")来执行但无论哪种方式,在perl脚本运行之前,我都会得到一个僵尸进程。 下面是我的代码: my $CMD; my $PID; sub waitkey() { local( $| ) = ( 1 ); print "Press <Enter> or
浏览 1
提问于2013-03-19
得票数 0
回答已采纳
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
回答
云服务器用远程连接 中断后 当前运行的程序不见了,但是进程还是存在 这个问题怎么解决?
云服务器用远程连接 中断后 当前运行的程序不见了,但是进程还是存在 这个问题怎么解决
浏览 1384
提问于2018-11-09
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
回答已采纳
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
回答已采纳
2
回答
linux中的等待进程
、
、
、
我正在实现一个模拟Linux shell的程序,我有一个关于管道实现的问题(命令中只有一个管道的实现-在示例ls | grep中)- 我的主进程A在管道命令中派生并在其上创建进程B和waitpid。进程B反过来再次派生并创建进程C-然后B和C都使用execvp来转换为所需的命令。但是在这个实现中,没有人在等待C,C应该会创建一个僵尸进程。但奇怪的是,我在我的程序中没有看到任何僵尸。我需要一些帮助来理解为什么-因为我还需要泛化实现来支持命令中任意数量的管道,这意味着如果我继续当前的实现,我将有许多没有人等待的进程-所以我需要了解它是否正确,如果不是(很可能)如何修复它,这样我不仅可以在B上等待,
浏览 1
提问于2015-12-26
得票数 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
回答
我可以使用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
回答已采纳
5
回答
为什么必须为子进程使用` `wait()`?
、
尽管等待的linux手册页很好地解释了,您需要对子进程执行wait(),以便它们不会变成僵尸,但它根本没有说明原因。 我计划我的程序(这是我的第一个多线程程序,所以请原谅我的幼稚)围绕着一个for(;;)曾经循环,它启动子进程,这些子进程被exec()删除,并且肯定会自行终止。 我不能使用wait(NULL),因为这使得并行计算变得不可能,因此我可能不得不添加一个进程表来存储子pids,并且必须使用waitpid -不是立即使用,而是在经过一段时间之后-这是一个问题,因为子进程的运行时间从几微秒到几分钟不等。如果我太早使用waitpid,我的父进程会被阻塞,当我使用太晚的时候,我会被僵尸淹没,
浏览 1
提问于2011-12-29
得票数 16
回答已采纳
1
回答
shell遗漏了Wait()
、
、
我在处理一些关于linux的面试问题时发现 如果shell省略了wait(),会发生什么?? 这个我不太确定shell或内核会显示什么样的行为,如果错过了wait(),请帮助。在adv中谢谢。
浏览 3
提问于2012-04-03
得票数 0
回答已采纳
3
回答
我收到错误httpd dead subsys locked
、
、
我是linux管理方面的新手。我想托管多个网站,但我总是得到一个错误httpd死子系统锁定。
浏览 2
提问于2013-10-04
得票数 4
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
33
回答
向进程组的所有成员发送信号的最佳方式是什么?
、
、
、
我想杀掉整个流程树。使用任何通用脚本语言来实现这一点的最佳方法是什么?我正在寻找一个简单的解决方案。
浏览 18
提问于2008-12-25
得票数 440
回答已采纳
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
回答已采纳
4
回答
在Linux中如何杀死一个特定的进程?
、
、
、
我想在Linux中杀死一个特定的进程(它是一个名为test.exe的程序)。为此,我可以输入: ps aux | grep test.exe 然后: kill -9 process_id_of_test_exe 如您所见,我需要多次键入命令(而不是立即键入)。问题是如何在一个命令中做到这一点。把test.exe的process_id拿去杀掉吧。我想在这种情况下我需要写一个脚本。谢谢。
浏览 2
提问于2014-05-09
得票数 2
3
回答
如何在linux中杀死多个进程?
我想杀死一些Linux中的Apache服务器进程。 在这方面请帮帮我。
浏览 1
提问于2012-10-18
得票数 11
回答已采纳
2
回答
如何仅等待()某些子进程并防止僵尸
、
、
、
、
我正试图在linux上用c++编写一个模拟shell,却被困在了这个问题上: 我需要在后台运行一些进程,在前台运行一些进程。为了防止前台进程变成僵尸,我可以使用wait(),但是如何防止后台进程变成僵尸呢?
浏览 0
提问于2018-11-24
得票数 1
回答已采纳
5
回答
Linux:如何查找守护进程和僵尸进程列表
、
、
、
、
我试着在谷歌上查了一下,但我找不到太多与实际问题相关的信息。 如何获得僵尸进程和守护进程的合并列表?我如何在不同的操作系统上做到这一点。Linux?AIX?Windows? 我确信,基于PID,我们无法识别进程的类型。通过终端运行可能也无济于事。
浏览 0
提问于2013-08-01
得票数 17
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
回答
向/proc/loadavg进行调查
回顾linux加载平均文档(试图解决一个问题),我被问到是否是一种进程状态(僵尸进程?)会影响异常,导致我的系统负荷平均值高。那么僵尸过程会对我的问题产生负面影响吗?是否还有其他增加平均负荷的过程状态?
浏览 0
提问于2015-03-27
得票数 1
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
回答已采纳
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
回答已采纳
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
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
回答已采纳
3
回答
防止子进程成为孤立进程
、
、
、
我的Linux进程有4个子进程。执行一段时间后,init进程采用的所有子进程。我们如何防止这种情况?(僵尸进程不是这种情况)。 该过程是用C语言编写的,操作系统是Linux。我的代码调用waitpid!可能的问题是什么?在99,99%的情况下,我们没有这个问题。 最后更新:如果有人执行"kill -9“怎么办?这会立即终止父进程,并留下子进程为孤立进程。
浏览 6
提问于2011-07-25
得票数 2
回答已采纳
扫码
添加站长 进交流群
领取专属
10元无门槛券
手把手带您无忧上云
相关
资讯
Linux系统编程——特殊进程之僵尸进程
如何在无响应的 Linux 系统中杀掉内存消耗最大的进程
多进程编程中父进程如何回收僵尸进程
如何找到并杀死Linux数据中心服务器上的僵尸进程?
Linux进程管理
热门
标签
更多标签
云服务器
ICP备案
对象存储
实时音视频
即时通信 IM
活动推荐
运营活动
广告
关闭
领券