并行运行Python Trainer脚本

时间:2018-02-13 10:07:52

标签: python linux bash python-3.x terminal

我有python3训练师命令输入

  • trainer.py脚本fileName
  • 日期
  • 输入数据文件
  • 输出参数文件

我想为10(增量即+1)日期调用此命令,从而产生10个输出文件。所有10个命令的另外2个输入文件是相同的。我想知道如何在10个线程(Linux)中并行调用这些命令。

1 个答案:

答案 0 :(得分:2)

选项1:在parallel工具中使用。

  

GNU parallel是一个shell工具,用于使用一台或多台计算机并行执行作业。作业可以是单个命令,也可以是必须为输入中的每一行运行的小脚本。典型的输入是文件列表,主机列表,用户列表,URL列表或表列表。作业也可以是从管道读取的命令。然后,GNU parallel可以拆分输入并将其并行输入命令。

选项2:手动管理作业 要在后台运行作业,只需在命令末尾添加&

有用的命令:

jobs -r              # list of running
kill -SIGSTOP %N     # suspend job N
kill -SIGCONT %N     # resume job N

示例:

$ sleep 30 & # <- run in background
$ sleep 60 & # <- run in background
$ sleep 60 & # <- run in background

# list of running jobs
$ jobs -r
[1]   Running                 sleep 30 &
[2]-  Running                 sleep 60 &
[3]+  Running                 sleep 40 &

# kill job [3]
$ kill %3

# list of jobs
$ jobs
[1]   Running                 sleep 30 &
[2]-  Running                 sleep 60 &
[3]+  Terminated              sleep 40