Kerberos:使用 krenew 运行带有参数的应用程序

Kerberos:使用 krenew 运行带有参数的应用程序

我需要使用 运行一个应用程序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,它可以正常工作。

我希望有人可以澄清这一点。

更新:如果我从命令中删除“&”字符(这样它就不会与控制台分离,它就可以正常工作,所以我决定在屏幕标签。虽然这不是最好的解决方案,但它能完成工作。

答案1

您不需要在屏幕会话中运行它,而应该能够使用:

krenew -t -- sh -c './my_app config.xml > results/test.txt' &

请注意,从 shell 中&分离,但应用程序不会从生成的 中分离。该参数会随 Kerberos 票证一起获取 AFS 令牌。只有当您的命令需要访问 AFS 文件系统时,您才需要它。krenewsh-t

相关内容