![](/img/trans.png)
[英]can two python programs write and read a same HDF5 file at same time
[英]Can multiple programs write to STDOUT at the same time?
我目前正在使用GNU Parallel同时在多个大文件上运行Python脚本。 我有一个主Python脚本,用于设置我需要处理的文件,然后调度Parallel以在这些文件上运行相同的工作脚本。
当所有工作人员完成时,我需要将数据恢复到主线程中,而我现在只是写入文件并将其拉回来。 工人是否有可能将他们的腌制内容转移到STDOUT上供主人收集,或者两个工人是否有可能同时开始写STDOUT并相互交错?
基本上,STDOUT会阻塞直到另一个程序完成吗?
在shell环境中,在后台启动各种作业,所有写入stdout
,都很有可能交错输出,因为stdout
没有锁定。
但是,GNU Parallel可以将stdout
重定向到它启动的各种作业,并防止这种交错。 有几个命令行开关和各种选项。
默认输出分组:
--group
集团产出。 每个作业的输出组合在一起,仅在命令完成时打印。 stderr(标准错误)首先跟着stdout(标准输出)。 这需要一些CPU时间。 在极少数情况下,GNU并行占用大量CPU时间,如果可以接受来自不同命令的输出混合在一起,则使用-u
禁用分组可以将GNU并行加速10倍。
--group
是默认值。 可以用-u
反转。
但是可以使用其他选项,包括指向文件。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.