我的代码是这样的

from time import sleep
from multiprocessing import Process
import os

m = 1
def task1(a):
    global m
    while True:
        print("任务进行1-------------",m)
        sleep(a)
        m += 1


def task2(a):
    global m
    while True:
        sleep(a)
        print('任务进行2-------------',m)
        m += 1

if __name__ == '__main__':

    print(os.getpid())
    p1 = Process(target=task1,name='task1111',args=(1,))
    # p1.run()
    p1.start()

    # print(p1.name)
    p2 = Process(target=task2,name='task2222',args=(2,))  #target为函数,name起一个名字,args为参数
    # p2.run()
    p2.start()

并且是在pycharm中运行的,但是结果就是
图片说明
只有主进程中的进程号打印出来,子进程的输出内容完全没有,而且程序还在运行当中,我想应该是有进程但是没打印而已,于是我就用window的cmd运行这个文件看看有没有问题,结果如下
图片说明
结果居然可以了
网上我看见别人也有同样的问题,也是这样解决,在cmd或者直接输入到文件里面就可以。
具体问题好像是window环境下的问题,没有fork()函数,Linux下应该可以,其实我对这个回答其实也没把握对,后面有机会就用Linux试一下