Мне нужно запустить приложение с 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 -t -- sh -c './my_app config.xml > results/test.txt' &
Обратите внимание на &
отсоединение krenew
из вашей оболочки, но не ваше приложение из порожденного sh
. В -t
Параметр извлекает токен AFS вместе с вашим билетом Kerberos. Это необходимо только в том случае, если вашей команде требуется доступ к файловой системе AFS.