如果已知父进程,如何获取一个非常短的子进程的ID?

有意义的工程师

我正在寻找一种在Linux中获取短子进程的PID的方法。从人类的角度来看,这个过程是即时的。我知道将生成子进程的父进程。

有没有一种方法可以记录有关由特定父进程创建的所有进程的信息?

我不是在寻找一种方法来追溯找出孩子的PID,而是一种一旦发生就将其记录下来的方法。

斯蒂芬·查泽拉斯(Stephane Chazelas)

您可以使用审核系统:

sudo auditctl -a exit,always -S execve -F ppid="$pid"

会导致每次审核的子项$pid执行命令时都会生成审核条目audit.log会有这样的事情:

type=SYSCALL msg=audit(1373986729.977:377): arch=c000003e syscall=59 success=yes exit=0 a0=7ff000e4b188 a1=7ff000e4b1b0 a2=7fff928d47e8 a3=7fff928caac0 items=2 ppid=7502 pid=691 auid=10031 uid=10031 gid=10031 euid=10031 suid=10031 fsuid=10031 egid=10031 sgid=10031 fsgid=10031 ses=1 tty=pts5 comm="echo" exe="/bin/echo" key=(null)
type=EXECVE msg=audit(1373986729.977:377): argc=2 a0="/bin/echo" a1="test"
type=CWD msg=audit(1373986729.977:377):  cwd="/tmp"
type=PATH msg=audit(1373986729.977:377): item=0 name="/bin/echo" inode=131750 dev=fe:00 mode=0100755 ouid=0 ogid=0 rdev=00:00

在这里您可以找到pid其他东西。

如果您对不一定执行某些操作的流程感兴趣,则可以为forkclone系统调用添加审核规则

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何让非 root 父进程在 MacOS/X 下生成一个 root 子进程?

父进程如何知道它启动的子进程的进程ID?

如何获取进程ID来杀死一个nohup进程?

父进程有多个子进程,而两个子进程有一个子进程

_do_fork()如何返回两个不同的PID(一个用于父进程,一个用于子进程)

Windows cmd .bat-启动一个子进程,该进程同时运行到父进程,并在父进程关闭时关闭

C ++如何获取父进程ID

子进程的进程父ID与父进程的PID不同

如何区分一个子进程与其他子进程

使用python multiprocessing子进程如何终止另一个子进程?

当另一个子进程完成时,如何终止子进程?

如何从Node JS中的子进程获取进程ID

如何使用htop挂起一个进程及其所有子进程?

如何不杀死另一个进程在python中打开的子进程?

如何减少Linux上一个进程的所有线程(和子进程)?

如何强制2个Python子进程一个接一个地运行

如何知道某个进程是父进程还是子进程

一个进程如何阻止另一个进程(该进程产生)?

以编程方式获取另一个进程的父pid?

如何杀死一个进程不断变化的进程?

当父进程等待子进程终止时,子进程如何杀死父进程?

如何限制一个进程及其子进程的CPU使用率,而不管是否存在另一个要求资源的进程

我如何等待除一个子进程之外的所有子进程完成

如何将子进程的输出传递给另一个子进程的输入?

如何从父进程获取子进程

如果父进程结束,子进程的祖父进程是否成为其父进程

如何从Powershell中获取完整的命令和父进程ID?

如何仅获取进程的父PID并排除使用grep链接到它的子进程

在父进程中,如何查看子进程管理的子变量?