如何在linux中调度作业和传递参数并且并行运行

时间:2016-08-19 16:42:30

标签: linux bash scheduled-tasks jobs

我想在后台的特定时间运行脚本。该作业接收输入参数。为了安排一份工作,我发现我应该使用at命令并运行它:

at -f ./myjob now

它有效。但是,当我想用​​这样的参数运行它时:

at -f ./myjob 1 now

它给了我乱码时间错误消息。有没有人知道如何解决这个问题?

更新: 我想并行运行不同参数的作业。像这样

at -f ./myjob 1 now

at -f ./myjob 2 now

at -f ./myjob 3 now 

1 个答案:

答案 0 :(得分:1)

at命令具有-f file选项,该选项从文件而不是标准输入读取命令。因此,将命令放在一个文件中,例如cmds,其中包含以下内容:

./myjob 1

要并行运行多个作业,请使用&符运算符分叉每个作业:

./myjob 1 &
./myjob 2 &
./myjob 3

然后运行:

at -f ./cmds now

通过at阅读man at手册页,可以找到更多信息。