fork(1) download
  1. import random
  2. import os
  3. import time
  4. from multiprocessing import Pool
  5.  
  6.  
  7. def run(i):
  8. sleep_time = random.random()
  9. if i % 10 == 9:
  10. sleep_time *= 10
  11. print('[{}] start: {}, at: {:.2f}, will sleep: {:.2f}s'.format(os.getpid(), i, time.time(), sleep_time))
  12. os.system('sleep {}'.format(sleep_time))
  13. print('[{}] stop: {}, at: {:.2f}'.format(os.getpid(), i, time.time()))
  14.  
  15.  
  16. jobs = list(range(30))
  17. pool = Pool(10)
  18.  
  19. for i in jobs:
  20. pool.apply_async(run, (i,))
  21. pool.close()
  22. pool.join()
Success #stdin #stdout #stderr 0.06s 15496KB
stdin
Standard input is empty
stdout
[24428] start: 0, at: 1578579346.52, will sleep: 0.88s
[24428] stop: 0, at: 1578579346.56
[24428] start: 10, at: 1578579346.56, will sleep: 0.26s
[24428] stop: 10, at: 1578579346.56
[24428] start: 12, at: 1578579346.56, will sleep: 0.97s
[24428] stop: 12, at: 1578579346.56
[24428] start: 14, at: 1578579346.56, will sleep: 0.19s
[24428] stop: 14, at: 1578579346.56
[24428] start: 16, at: 1578579346.56, will sleep: 0.25s
[24428] stop: 16, at: 1578579346.56
[24428] start: 18, at: 1578579346.56, will sleep: 0.04s
[24428] stop: 18, at: 1578579346.56
[24428] start: 20, at: 1578579346.56, will sleep: 0.94s
[24428] stop: 20, at: 1578579346.56
[24428] start: 22, at: 1578579346.56, will sleep: 0.59s
[24428] stop: 22, at: 1578579346.56
[24428] start: 24, at: 1578579346.56, will sleep: 0.30s
[24428] stop: 24, at: 1578579346.56
[24428] start: 26, at: 1578579346.56, will sleep: 0.55s
[24428] stop: 26, at: 1578579346.56
[24428] start: 28, at: 1578579346.56, will sleep: 0.94s
[24428] stop: 28, at: 1578579346.56
[24422] start: 9, at: 1578579346.52, will sleep: 0.08s
[24422] stop: 9, at: 1578579346.56
[24422] start: 11, at: 1578579346.56, will sleep: 0.30s
[24422] stop: 11, at: 1578579346.56
[24422] start: 13, at: 1578579346.56, will sleep: 0.18s
[24422] stop: 13, at: 1578579346.56
[24422] start: 15, at: 1578579346.56, will sleep: 0.75s
[24422] stop: 15, at: 1578579346.56
[24422] start: 17, at: 1578579346.56, will sleep: 0.18s
[24422] stop: 17, at: 1578579346.56
[24422] start: 19, at: 1578579346.56, will sleep: 6.84s
[24422] stop: 19, at: 1578579346.56
[24422] start: 21, at: 1578579346.56, will sleep: 0.89s
[24422] stop: 21, at: 1578579346.56
[24422] start: 23, at: 1578579346.56, will sleep: 0.93s
[24422] stop: 23, at: 1578579346.56
[24422] start: 25, at: 1578579346.56, will sleep: 0.28s
[24422] stop: 25, at: 1578579346.56
[24422] start: 27, at: 1578579346.56, will sleep: 0.67s
[24422] stop: 27, at: 1578579346.56
[24422] start: 29, at: 1578579346.56, will sleep: 3.63s
[24422] stop: 29, at: 1578579346.56
[24429] start: 3, at: 1578579346.52, will sleep: 0.21s
[24429] stop: 3, at: 1578579346.77
[24430] start: 4, at: 1578579346.52, will sleep: 0.52s
[24430] stop: 4, at: 1578579347.08
[24427] start: 1, at: 1578579346.52, will sleep: 0.56s
[24427] stop: 1, at: 1578579347.12
[24425] start: 5, at: 1578579346.52, will sleep: 0.57s
[24425] stop: 5, at: 1578579347.13
[24424] start: 7, at: 1578579346.52, will sleep: 0.67s
[24424] stop: 7, at: 1578579347.23
[24423] start: 8, at: 1578579346.52, will sleep: 0.73s
[24423] stop: 8, at: 1578579347.29
[24431] start: 6, at: 1578579346.52, will sleep: 0.93s
[24431] stop: 6, at: 1578579347.49
[24426] start: 2, at: 1578579346.52, will sleep: 1.00s
[24426] stop: 2, at: 1578579347.56
stderr
sh: 1: Cannot fork
sh: 1: Cannot fork
sh: 1: sh: 1: Cannot fork
Cannot fork
sh: 1: sh: 1: Cannot fork
Cannot fork
sh: 1: sh: 1: Cannot fork
Cannot fork
sh: 1: sh: 1: Cannot fork
Cannot fork
sh: 1: sh: 1: Cannot fork
Cannot fork
sh: 1: sh: 1: Cannot fork
Cannot fork
sh: 1: sh: 1: Cannot fork
Cannot fork
sh: 1: sh: 1: Cannot fork
Cannot fork
sh: 1: sh: 1: Cannot fork
Cannot fork
sh: 1: sh: 1: Cannot fork
Cannot fork