Como posso agendar a execução de um programa?

2

Digamos que eu tenha um pequeno programa Java "Hello World" compilado em meu diretório inicial. Eu posso executá-lo com java helloWorld do meu diretório home e ele executa sem nenhum problema.

Agora eu preciso agendar para executar este programa, digamos, após 10mins a partir de agora. Então, estou executando os seguintes comandos no console:

at now+10min
warning: commands will be executed using /bin/sh
at> java helloWorld
Press CTRL+D to finish

Portanto, ele está programado corretamente, como posso ver com o comando at -l . Mas neste momento nada acontece.

Por quê? O que está errado com isso? Porque, se em vez de programar a execução do meu próprio programa eu programar a execução do comando gedit ele abre em um horário especificado. Mas com o meu próprio programa, ele não executa nada. Como posso mudar a situação?

    
por Bakhtiyor 29.01.2011 / 14:08

2 respostas

2

O que helloworld faz? Se for um aplicativo de texto, você não verá a saída (a menos que você configure para receber os relatórios cron para o seu e-mail local). Se for um aplicativo GUI, ele não funcionará porque cron não pode iniciar aplicativos GUI.

Portanto, tente com um aplicativo Java que crie um arquivo em seu sistema (por exemplo, em /tmp ) e observe se isso acontece.

Além disso, use a opção MAILTO em crontab para ter certeza de que cron é executado corretamente. Os e-mails de notificação incluem a saída do programa (por exemplo, a mensagem Hello world! ) e quaisquer erros na execução dos comandos.

    
por user4124 29.01.2011 / 15:31
0

Tente dar o caminho completo do arquivo, por exemplo:

java /home/ward/prog/helloWorld
    
por Ward Muylaert 29.01.2011 / 15:17