Python 调用pexpect.spawn时,生成的程序是否立即开始执行?

Python 调用pexpect.spawn时,生成的程序是否立即开始执行?,python,pexpect,Python,Pexpect,在调用expect.spawn对象之前,expect(或interact,send等)对象是否处于非活动状态,或者调用的进程是否立即启动?例如: import pexpect process = pexpect.spawn("echo HELLO") print ("Process created? Or run?") process.expect("HELLO") 当出现print语句时,pexpect是否已经在后台运行echo命令,并且只是等待它返回,直到expect调用被处理?或者,在第

在调用
expect.spawn
对象之前,
expect
(或
interact
send
等)对象是否处于非活动状态,或者调用的进程是否立即启动?例如:

import pexpect
process = pexpect.spawn("echo HELLO")
print ("Process created? Or run?")
process.expect("HELLO")
当出现
print
语句时,
pexpect
是否已经在后台运行echo命令,并且只是等待它返回,直到
expect
调用被处理?或者,在第一次调用
expect
或类似命令之前,没有发生任何事情(
echo
没有运行)


欢呼

当传递命令时,
pexpect.spawn()
分叉并立即调用该命令。您的示例中的echo命令应该已经运行了

这体现在:

这是构造函数。命令参数可以是 包括命令和该命令的任何参数。例如:

child = pexpect.spawn ('/usr/bin/ftp')
child = pexpect.spawn ('/usr/bin/ssh user@example.com')
child = pexpect.spawn ('ls -latr /tmp')
您还可以使用如下参数列表来构造它:

child = pexpect.spawn ('/usr/bin/ftp', [])
child = pexpect.spawn ('/usr/bin/ssh', ['user@example.com'])
child = pexpect.spawn ('ls', ['-latr', '/tmp'])
在此之后,子应用程序将被创建并准备就绪 跟我谈谈

我通过查看;构造函数调用
\u spawn()
,其文档记录如下:

这将在子进程中启动给定的命令。这是所有问题的答案 用于pty的fork/exec类型。这由
\uuuu init\uuuu
调用。如果args 为空,则将分析命令(在空格上拆分),并将 设置为已解析的参数