Kerberos: executando um aplicativo com um parâmetro usando krenew

1

Eu preciso executar um aplicativo com krenew , mas o aplicativo também precisa receber um parâmetro via linha de comando e preciso enviar sua saída para um arquivo. A partir da documentação , parece que isso deve funcionar:

krenew -t -- sh -c 'compute-job > /afs/local/data/output'

mas, infelizmente, quando eu executo o comando abaixo:

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

o aplicativo simplesmente morre depois de um tempo e eu posso ver na saída de ps aux que krenew não está sendo executado junto com my_app . Não tenho certeza do que o parâmetro -t faz e, até onde eu sei, se eu executar krenew -s ./my_app , ele funcionará corretamente.

Espero que alguém possa esclarecer isso.

Atualização: se eu remover o "&" caractere do comando (para que ele não seja desanexado do console, ele funciona muito bem, então decidi executá-lo em uma guia SCREEN . Embora essa não seja a melhor solução, ele faz o trabalho .

    
por Mihai Todor 22.11.2012 / 22:08

1 resposta

4

Em vez de executá-lo em uma sessão de tela, você deve poder usar:

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

Observe o & detaching krenew do seu shell, mas não o seu aplicativo do sh gerado. O parâmetro -t obtém um token do AFS junto com seu tíquete do Kerberos. Você só precisa disso se seu comando precisar acessar um sistema de arquivos do AFS.

    
por 07.12.2012 / 13:54