Cron es un programador, es bueno si quieres que tu script se ejecute cada 5 minutos, o cada 3 miércoles, etc, pero para un reinicio arbitrario al finalizar que podría (supongo, no indicas lo que el script de Python está haciendo, cuánto tiempo tarda o si el tiempo de finalización es variable, etc) ser esencialmente aleatorio no es la mejor opción.
Puedes insertar alguna lógica en el script directamente, o simplemente puedes 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 verbosa con opciones para mantener un ojo en los reinicios, etc. Usted puede escribir esto en casi cualquier línea de comandos de shell, más simple que acaba de 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 y añade la fecha actual y un mensaje a un archivo de registro en cada reinicio. Puedes poner cualquier código de control después de la ejecución inicial del script de Python y el done
línea, incluso conseguir que te envíe un correo que se reinicie, etc.
Como no se 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 un CTRL-c
o un kill -9 PID
tipo de comando desde otra sesión de línea de comandos.