gpt4 book ai didi

c - 在 linux 中同时输出已停止和正在运行的进程?

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:27:13 26 4
gpt4 key购买 nike

我目前正在我的 c 程序中使用 Linux 命令来显示一组进程。但是,当进程停止(挂起)时,此命令不会列出它。我需要列出正在运行和已停止的作业。 注意:当我说停止时,我并不是说工作终止了。问题在于显示暂停的进程。

execvp("/bin/ps", parmList);

我必须使用 ps 命令。无论如何,在这种情况下是否可以同时显示正在运行和已停止(暂停)的进程?

最佳答案

有两种方法:

1) 持续监控进程的状态变化。

2) 注册一个处理程序,以便在状态更改时获得异步通知。

1st case

执行一个持续监控进程状态的脚本。您必须将 ps 与 BSD 样式选项一起使用,即

ps axo pid,stat

2nd case

您只能监视子进程。如果它们是子进程,您可以使用 waitpid() 监视它们。

所以,基本上,您注册了一个信号处理程序,并在该处理程序中使用 waitpid 来获取状态。

您会在此处找到解释的信号:[ http://linux.die.net/man/2/waitpid][1]

关于c - 在 linux 中同时输出已停止和正在运行的进程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32918228/

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