如何使用 pexpect 获取生成进程的 pid?
How do I get the pid of a spawned process using pexpect?
我正在使用 pexpect 生成 bash shell,然后使用 sendline 在 bash [=21] 中执行其他进程=].
有什么方法可以获取生成的进程的 pid bash shell?
如何获取我在 bash 内启动的进程的 pid?
如果您检查 documentation of the spawn class,您会发现您可以使用 pid
属性获取派生进程的 pid,因此
spawnedBash = pexpect.spawn('bash')
print(spawnedBash.pid)
应该打印生成进程的 pid
Manuel 的回答实际上是不正确的。但这不是他的错,而是预期的错。
调用此 python 代码
child=pexpect.spawn("gdb")
child.pid
给了我 14470
的 pid 值。但是当我通过 bash 控制它时,我看到 gdb 的 pid 值为 14473
。这可能是因为 pexpect 调用包装器和 returns 包装器的 pid 而不是实际进程。
我正在使用 pexpect 生成 bash shell,然后使用 sendline 在 bash [=21] 中执行其他进程=].
有什么方法可以获取生成的进程的 pid bash shell?
如何获取我在 bash 内启动的进程的 pid?
如果您检查 documentation of the spawn class,您会发现您可以使用 pid
属性获取派生进程的 pid,因此
spawnedBash = pexpect.spawn('bash')
print(spawnedBash.pid)
应该打印生成进程的 pid
Manuel 的回答实际上是不正确的。但这不是他的错,而是预期的错。
调用此 python 代码
child=pexpect.spawn("gdb")
child.pid
给了我 14470
的 pid 值。但是当我通过 bash 控制它时,我看到 gdb 的 pid 值为 14473
。这可能是因为 pexpect 调用包装器和 returns 包装器的 pid 而不是实际进程。