Cron es un programador, es bueno si quieres que tu script se ejecute cada 5 minutos, o cada 3er miércoles, etc., pero para un reinicio arbitrario al finalizar, lo que podría (supongo que no indicas qué es el script de Python Haciendo, cuánto tiempo lleva o si el tiempo de finalización es variable, etc., ser esencialmente aleatorio, no es la mejor opción.
Puedes insertar algo de lógica en el script directamente o simplemente envolver el script con alguna lógica de Shell Scripting según la respuesta de @ user3439968, mi versión es esencialmente la misma, pero la he mostrado un poco más detallada con opciones para vigilar los reinicios, etc. Puede escribir esto en casi cualquier shell de línea de comandos, el más simple es simplemente abrir Terminal
y escribirlo directamente en él
while true
do
/path/to/script.py
sleep 60
date >> /path/to/logfile.txt
echo "The script ended, and I restarted it after 60 seconds" >> /path/to/logfile.txt
done
En el ejemplo anterior, el reinicio no es inmediato sino que espera 60 segundos, luego agrega la fecha actual y un mensaje a un archivo de registro en cada reinicio. Puede poner cualquier código de control después de la ejecución inicial de la secuencia de comandos de Python y la línea done
, incluso hacer que se le envíe por correo postal que se reinicia, etc.
Debido a que no especifica qué es "verdadero", nunca puede ser falso, por lo que esencialmente todo entre do
y done
se repite una y otra vez hasta que recibe una señal de interrupción adecuada como CTRL-c
o un comando kill -9 PID
type desde otra sesión de línea de comandos.