crontab: executa um comando e mata sua saída em loop após 2 min?

0

Eu quero executar um comando a cada 50 min e matar o PID de saída em loop após 2 min da execução do comando.

isso é possível de alguma forma? qualquer ajuda seria legal.

    
por Ali 30.07.2016 / 23:21

2 respostas

1

Não tenho experiência em usar o cron, mas você também pode simplesmente escrever um pequeno script Bash que é executado infinitamente em plano de fundo, assim:

#!/bin/bash
while true ; do         # starts an infinite loop
    YOUR_COMMAND &      # runs YOUR_COMMAND in background
    your_pid=$!         # remembers the PID of YOUR_COMMAND
    sleep 2m            # pauses the script for 2 minutes
    kill $your_pid      # kills YOUR_COMMAND by its previously remembered PID
    sleep 48m           # pauses the script for the remaining 48 minutes
done                    # defines the end of the loop
    
por Byte Commander 30.07.2016 / 23:34
1

Use "timeout" (timeout do homem para detalhes). Configure um crontab para executar seu comando, mas use /usr/bin/timeout 120s your_command

Isto deve executar o seu comando por 120 segundos toda vez que o crontab o invocar.

    
por EnterUserNameHere 31.07.2016 / 01:54