首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python多处理不创建Fedora中的新进程

Python多处理不创建Fedora中的新进程
EN

Stack Overflow用户
提问于 2015-02-19 04:48:35
回答 1查看 540关注 0票数 2

我正在学习Python2.7中的多处理。我在Windows 7和Fedora 20中都尝试了下面的代码。

码样例

代码语言:javascript
复制
import multiprocessing
import time

def worker():
    name = multiprocessing.current_process().name
    print name, 'Starting'
    time.sleep(10)
    print name, 'Exiting'
    
if __name__ == '__main__':
    worker_1=multiprocessing.Process(target=worker)
    worker_2=multiprocessing.Process(target=worker)
    
    worker_1.start()
    worker_2.start()

在任务管理器中的Windows7中,我能够看到3个进程正在运行。

在Fedora-20中使用命令top | grep python时,我只能看到一个python进程在运行。

是因为Linux操作系统不允许多进程处理吗?

如果一个多处理程序将像普通程序一样运行,那么为什么人们更喜欢multiprocessing而不是Threading

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-02-19 05:30:39

问题不在于Python,而在于top命令的使用。默认情况下,top只显示安装在单个屏幕中的进程。当您的工作流程处于睡眠状态时,它们占用的资源较少,并且落后。因此,它们不作为grep的结果出现。

您可以使用ps aux命令来验证是否创建了工作人员,也可以使用用于重定向top输出的top-b选项。

top -b | grep python

来自人顶

-b :批处理模式操作以“批处理模式”启动,这对于从顶部发送到其他程序或文件可能很有用。在这种模式下,top将不接受输入并运行,直到使用'-n‘命令行选项设置的迭代限制或直到终止为止。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28598769

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档