如何安排命令在Azkaban中在后台运行

时间:2015-04-30 06:55:41

标签: bash background command azkaban

在bash脚本中,我可以附加&在命令的最后使其在后台运行,例如:

top &

然而,当我把它放在阿兹卡班的工作中时,例如:

type=command
command=top &

它会将错误消息显示为:

29-04-2015 23:53:08 PDT start ERROR - invalid option or syntax: &
29-04-2015 23:53:08 PDT start ERROR - top usage: top
29-04-2015 23:53:08 PDT start ERROR -       [-a | -d | -e | -c ]
29-04-2015 23:53:08 PDT start ERROR -       [-F | -f]
29-04-2015 23:53:08 PDT start ERROR -       [-h]
29-04-2015 23:53:08 PDT start ERROR -       [-i ]
29-04-2015 23:53:08 PDT start ERROR -       [-l ]
29-04-2015 23:53:08 PDT start ERROR -       [-ncols ]
29-04-2015 23:53:08 PDT start ERROR -       [-o ] [-O ]
29-04-2015 23:53:08 PDT start ERROR -       [-R | -r]
29-04-2015 23:53:08 PDT start ERROR -       [-S]
29-04-2015 23:53:08 PDT start ERROR -       [-s ]
29-04-2015 23:53:08 PDT start ERROR -       [-n ]
29-04-2015 23:53:08 PDT start ERROR -       [-stats ]
29-04-2015 23:53:08 PDT start ERROR -       [-pid ]
29-04-2015 23:53:08 PDT start INFO - Process completed unsuccessfully in 0 seconds.
29-04-2015 23:53:08 PDT start ERROR -       [-user ]
29-04-2015 23:53:08 PDT start ERROR -       [-U ]
29-04-2015 23:53:08 PDT start ERROR -       [-u]
29-04-2015 23:53:08 PDT start ERROR - 
29-04-2015 23:53:08 PDT start ERROR - Job run failed!

我试图逃避&将命令写为“top \&”,但它仍会报告相同的错误。我用谷歌搜索了几个小时,找不到解决方案,有没有人知道如何在阿兹卡班的后台运行命令?

1 个答案:

答案 0 :(得分:1)

最有可能的是,Azkaban直接通过OS调用执行命令,而不是通过shell执行命令 - 但是,&语法只能由Bash本身理解。尝试将命令放在Bash脚本中:

#!/bin/bash
top &

和时间表

bash -c "your_script.sh"

代替运行,或执行

bash -c "top &"

直接

顺便说一句,top不会在后台运行而不先设置哑终端。例如,这可以解决here