我正在尝试在Azure批处理池上运行任务。该任务没有错误完成,但是没有输出。
我创建并配置了Ubuntu 18.04 LTS虚拟机,将我的.NET Core 2.1 SCA放入/usr/local/bin/MyApp
中,并从该计算机上创建了映像。
接下来,我用我的自定义映像和一个低优先级节点创建批处理池。
当我使用ssh时,我可以看到放置它的应用程序,并可以按以下方式运行它:
cd /usr/local/bin/MyApp && ./MyApp some_param
这将产生预期的结果。 但是,当我在Azure门户中创建任务时:
/bin/sh -c cd /usr/local/bin/MyApp && ./MyApp some_param
它运行的时间少于1s,并表明任务成功。但这不会产生任何结果。
我的应用程序只需从blob存储中加载文件,对其进行处理,然后再上传回blob存储中。
当我在门户网站中运行以下任务时:
/bin/sh -c pwd
它输出:
/mnt/batch/tasks/workitems/processing-job/job-1/test2/wd
但是当我这样做时:
/bin/sh -c cd .. && pwd
我在stderr.txt
和stdout.txt
中什么也没看到。
仅仅是因为找不到我的应用程序(由于某种原因而不会引发任何错误)吗?
我尝试将MyApp添加到$ PATH,但是随后运行时:
MyApp some_param
在stderr.txt
中,我看到访问被拒绝的错误。
我尝试在admin和非admin用户下执行它,结果相同。
请帮助。
答案 0 :(得分:1)
很酷,所以这里是快速的答案,希望这能满足您的需求:
有关多个命令失败的信息,请参见:Azure batch - run multiple commands from command line on linux VM
即在您的命令行/bin/bash -c "cd .. && pwd"