我需要使用krenew运行应用程序,但是应用程序还需要通过命令行接收参数,并且需要将其输出发送到文件。 从文档看来,这应该可以做到这一点:
krenew -t -- sh -c 'compute-job > /afs/local/data/output'
但不幸的是,当我运行下面的命令:
krenew -s -- sh -c './my_app config.xml > results/test.txt &'
应用程序只是在一段时间后死亡,我可以从ps aux的输出中看出, krenew不与my_app一起运行。 我不确定参数-t是什么,就我krenew -s ./my_app ,如果我运行krenew -s ./my_app ,它可以正常工作。
我希望有人能澄清这一点。
更新:如果我从命令中删除了“&”(所以它不会被从控制台分离出来,所以我决定在SCREEN选项卡中运行它。虽然这不是最好的解决scheme,工作。
而不是在屏幕会话中运行它,你应该能够使用:
krenew -t -- sh -c './my_app config.xml > results/test.txt' &
注意你的shell中的& krenew ,而不是你的应用程序。 -t参数随同您的Kerberos票证一起获取AFS令牌。 如果您的命令需要访问AFS文件系统,则只需要这个。