Uso de crontab, kill e trap

0

Estou aprendendo o comando crontab e estou fazendo algumas tentativas.

Eu editei o arquivo crontab padrão com o comando crontab -e , e eu quero colocar uma linha que a cada minuto envie um SIGUSR1 para o processo shell atual ( pid 14515 ), e depois, recebeu o sinal, imprima uma mensagem padrão para stdout.

Eu adiciono esta linha:

1 * * * * kill -USR1 14515 | trap "echo Sigusr1 received" SIGUSR1

Mas depois de um minuto não vejo nada impresso no meu terminal. O que há de errado? Posso usar outra maneira de fazer isso?

    
por Kyrol 25.03.2014 / 20:11

1 resposta

1

Alguns problemas com isso. Primeiro, qualquer coisa no arquivo crontab é executada em segundo plano, não no seu terminal. Então, qualquer "eco" lá não será visto (a menos que seja enviado para você em um e-mail).

Tente deixar o kill lá (tenho certeza que você está ciente de que isso mudará se você sair), mas mova o 'trap' para o seu shell.

Além disso, sua linha, como está escrita, será executada somente no primeiro minuto de cada hora (2:01, 3:01, etc). Se você quer que algo seja executado a cada minuto, faça:

 * * * * * kill -USR1 PID
    
por 25.03.2014 / 20:20

Tags