linux将文本传递到给定进程的readline中

linux将文本传递到给定进程的readline中,linux,input,console.readline,Linux,Input,Console.readline,我有一个进程可以从用户那里读取控制台输入(readline、raw_输入等,具体取决于平台)。还有另一个进程希望向第一个进程提供给定的输入 在linux中如何做到这一点?可能吗?PS我感兴趣的语言是Python,但是对于任何语言/平台的提示都非常感谢。第一个选项: Python提供了执行此任务的子流程包。您需要使用随子流程包提供的管道。参考资料 第二种选择: 您可以使用多处理软件包以实现更好的控制和更多选项;管道仍然可用。此外,您还可以使用队列、数组和锁来促进进程间通信。参考资料 第一个选项:

我有一个进程可以从用户那里读取控制台输入(readline、raw_输入等,具体取决于平台)。还有另一个进程希望向第一个进程提供给定的输入

在linux中如何做到这一点?可能吗?PS我感兴趣的语言是Python,但是对于任何语言/平台的提示都非常感谢。

第一个选项:

Python提供了执行此任务的
子流程
包。您需要使用随子流程包提供的管道。参考资料

第二种选择:

您可以使用
多处理
软件包以实现更好的控制和更多选项;管道仍然可用。此外,您还可以使用队列、数组和锁来促进进程间通信。参考资料

第一个选项:

Python提供了执行此任务的
子流程
包。您需要使用随子流程包提供的管道。参考资料

第二种选择:


您可以使用
多处理
软件包以实现更好的控制和更多选项;管道仍然可用。此外,您还可以使用队列、数组和锁来促进进程间通信。参考资料

一般来说,管道在类unix系统上运行良好。在C中,您可以调用popen,它返回管道的两端,然后使用fork生成一个进程,该进程向管道写入数据,并从管道读取数据。代码是标准样板文件:

int pdes[2];

pipe(pdes);
if ( fork() == 0 ) { 
    close(pdes[1]); 
    read( pdes[0]); /* read from parent */
    .....
}
else {          
         close(pdes[0]); 
     write( pdes[1]); /* write to child */
         .....
}

在Python中,您可以使用子进程并使用管道进行通信,如中所述。一般来说,管道在类unix系统上运行良好。在C中,您可以调用popen,它返回管道的两端,然后使用fork生成一个进程,该进程向管道写入数据,并从管道读取数据。代码是标准样板文件:

int pdes[2];

pipe(pdes);
if ( fork() == 0 ) { 
    close(pdes[1]); 
    read( pdes[0]); /* read from parent */
    .....
}
else {          
         close(pdes[0]); 
     write( pdes[1]); /* write to child */
         .....
}

在Python中,您可以使用子流程并使用管道进行通信,如

中所述,第一个选项(子流程/管道)就是我的答案。谢谢!尝试使用Python2.x,Python3.x有一些特定于平台(UNIX)的子进程函数,这会给您在windows上带来麻烦。我很高兴它能帮上忙。我需要的行是:
import sys
/
sys.stdin=open('file','r')
第一个选项(子流程/管道)就是我的答案。谢谢!尝试使用Python2.x,Python3.x有一些特定于平台(UNIX)的子进程函数,这会给您在windows上带来麻烦。我很高兴它有帮助。我需要的行是:
import sys
/
sys.stdin=open('file','r')