gpt4 book ai didi

c - 显示已停止和正在运行进程的 Linux 命令?

转载 作者:太空狗 更新时间:2023-10-29 12:01:45 24 4
gpt4 key购买 nike

我目前正在我的一个 c 程序中执行以下 Linux 命令以显示正在运行的进程。无论如何我可以修改它以显示停止的进程和正在运行的进程吗?

char *const parmList[] = {"ps","-o","pid,ppid,time","-g","-r",groupProcessID,NULL};
execvp("/bin/ps", parmList);

最佳答案

jobs -s list stopped通过 SIGTSTP 处理(20), no SIGSTOP (19). The main difference是那个SIGSTOP不容忽视。更多信息 help jobs .

您可以 SIGTSTP ^Z 的进程或从其他 shell 使用 kill -TSTP PROC_PID (或使用 pkill ,见下文),然后使用 jobs 列出它们.

但是如何列出已收到 SIGSTOP 的 PID? One way得到这个是

 ps -A -o stat,command,pid | grep '^T '

来自 man ps :

-A Select all processes. Identical to -e.

T stopped by job control signal


我发现这两个对于停止/继续一些进程(通常是浏览器)非常有用:

kill -STOP $(pgrep procName)
kill -CONT $(pgrep procName)

或用 pkill or killall :

pkill -STOP procName
pkill -CONT procName

关于c - 显示已停止和正在运行进程的 Linux 命令?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32859493/

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