腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
工具
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
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
回答已采纳
1
回答
工序表极限
、
、
我想知道linux中的Process是否有限制。能吃饱吗?如果是这样的话,我应该做些什么来创造空间(可能尝试删除僵尸进程的条目)?
浏览 0
提问于2020-05-14
得票数 2
回答已采纳
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
回答已采纳
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
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
回答已采纳
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
回答已采纳
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
1
回答
如何检查僵尸进程是否还在监听端口?
、
、
我使用以下脚本来跟踪正在运行的僵尸进程: ps aux | awk '{ print $8 " " $2 }' | grep -w Z 我还使用nestat -tulpn | grep <regex>来检查特定端口是否繁忙。 我尝试将第一个查询的输出传递给第二个查询,以检查僵尸进程是否正在侦听任何端口?有可能吗?
浏览 2
提问于2013-10-23
得票数 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
回答已采纳
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
1
回答
PID什么时候释放?
、
、
据我所知(请原谅我对这个问题的无知),当一个过程fork(): 每个孩子都有自己的PID。 子程序退出后,父级仍然能够使用waitpid()查询子程序的PID 这是否意味着: 因为这个PID仍然是来自父程序的“可查询”,所以它仍然被锁定并且不能被系统重用? 或者这个数字只是与父程序相关联,这样它就可以知道它已退出,并获得退出状态代码,但同时PID又可以用于系统了吗?在这种情况下,这是否意味着此PID不能用于父进程的子进程?这将意味着父母在其生命周期内可以跨越的进程的数量有一个上限,这对我来说是令人惊讶的。 如果你能为我澄清这一点,我将不胜感激!
浏览 3
提问于2013-07-05
得票数 1
回答已采纳
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
回答已采纳
1
回答
关于IPC的问题
你好,谢谢你能帮我理解这件事 我很好奇在Linux中父进程和子进程之间的进程是如何工作的,我很好奇.但是,我目前正试图弄清楚父-子进程IPC通信是否在访问内核的过程中通过API。 例如..。如果bash shell叉出ps命令进程..。我假设ps进程使用IPC将结果传回bash .如果这就是它的工作方式,我想弄清楚它是否通过API.我猜是的,但我找不到任何具体说明 再一次..。谢谢任何人能给我的帮助
浏览 0
提问于2018-01-28
得票数 0
1
回答
如何解决这个僵尸
、
、
在我的蓝色机器中,当我SSH到它的时候,它说+100僵尸进程。 我做到了 $ ps aux | awk '$2 == 1813 { print $0 }' 结果: 代理18130.0 0.4 341672 8260?Sl Feb03 0:26 /opt/omi/bin/omiagent 10 14 -destdir/-providerdir /opt/omi/lib -idletimeout 90 -日志级警告 这是什么,这个过程是什么,是什么导致了这一切。 使用这个,$ ps axo stat,ppid,pid,comm | grep -w defunct
浏览 3
提问于2016-02-04
得票数 1
1
回答
如果僵尸州没有被清除有什么问题吗?
、
我有一个生产部门,其中的java流程已经成为僵尸,并在那里呆了一段时间。如果该单元重新启动,那么它将被清除。但是,该单元没有重新启动,另一个java进程正在启动和运行。如果这个僵尸状态保持不变,没有清除它,有什么问题吗?它会以任何方式影响(表现还是缓慢)?
浏览 0
提问于2018-06-26
得票数 19
扫码
添加站长 进交流群
领取专属
10元无门槛券
手把手带您无忧上云
相关
资讯
Linux系统编程——特殊进程之僵尸进程
Linux 查询应用进程号、端口、文件
多进程编程中父进程如何回收僵尸进程
如何找到并杀死Linux数据中心服务器上的僵尸进程?
Linux进程管理
热门
标签
更多标签
云服务器
ICP备案
对象存储
即时通信 IM
实时音视频
活动推荐
运营活动
广告
关闭
领券