gpt4 book ai didi

linux - 终止进程 '[avconv] '

转载 作者:太空宇宙 更新时间:2023-11-04 09:40:35 27 4
gpt4 key购买 nike

我有超过 30 个进程 '[avconv] '(我在脚本中有一个错误),使用这个命令我找到了这些进程:

Ps aux | grep '\[avconv\] <defunct>' 

但我不知道如何终止这些进程,有人知道如何终止这些进程吗?

谢谢

最佳答案

A <defunct> process 是一个已经终止的进程,因此无法被杀死,但父进程尚未为​​其调用等待系统调用之一( waitwait3wait4waitpid 等。 .) 读取其退出状态。因此,系统会保留进程信息,以防父进程最终尝试获取其状态。当父级读取它们的退出状态时,此类进程就会消失。

这些 <defunct>当父进程被杀死时,进程也会消失,因为 init流程将取得流程的所有权并获得(和丢弃)其状态。

你可以避免<defunct>通过确保您发出尽可能多的过程来处理 wait发出系统调用 fork电话。

或者,正如 J.F. Sebastian 指出的那样,您也可以避免 <defunct>通过将 SIGCHLD 信号处置设置为 SIG_IGN(忽略信号)或在注册 SIGCHLD 信号处理程序时(或使用 SIG_DFL 重置默认处置时)使用 SA_NOCLDWAIT 标志来处理 sigaction .然而,在这种情况下, child 的退出状态将不会提供给 parent - 它只是被丢弃。

关于linux - 终止进程 '[avconv] <defunct>',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22078948/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com