¿Por qué crontab siempre reinicia mi script de Python con un nuevo PID?
Tengo un script de python3 y me gustaría que se iniciara automáticamente después de un reinicio. Se inicia, pero siempre inicia con un nuevo PID, lo comprobé con ps aux. Si inicio el archivo a través de la terminal, se ejecuta en el mismo PID.
Utilicé
@reboot /usr/bin/python3 /path/myFile.py
en crontab
import sys
from cryptography import x509
sys.path.insert(0, “..”)
import time
from opcua import ua, Server
if name == “main“:
# configuración de nuestro servidor
server = Server()
server.set_endpoint("opc.tcp://0.0.0.0:4842/freeopcua/server/")
# configuración de nuestro propio espacio de nombres, no es realmente necesario pero debería hacerse según las especificaciones
uri = "http://examples.freeopcua.github.io"
idx = server.register_namespace(uri)
# obtener el nodo Objetct, aquí es donde deberíamos poner nuestros nodos
objects = server.get_objects_node()
# llenado de nuestro espacio de direcciones
myobj = objects.add_object(idx, "MiObjeto")
startCali = myobj.add_variable(idx, "Iniciar Calibración", True)
brigthness = myobj.add_variable(idx, "Brillo", 0.0)
brigthness.set_writable()
startCali.set_writable() # Configurar MiVariable como escribible por clientes
oldstartCalivar = 0
oldbrightnesss = 1.0
# ¡comenzando!
server.start()
try:
count = 0
while True:
time.sleep(1)
if brigthness.get_value () != oldbrightnesss:
changeBrightness = "xrandr --output eDP-1 --brightness %f" % (brigthness.get_value())
oldbrightnesss = brigthness.get_value()
finally:
# cerrar la conexión, eliminar subscripciones, etc.
server.stop()
davy.ai
Es posible que el PID cambie cuando se utiliza
@reboot
en crontab. Para asegurarse de que se utiliza el mismo PID, se puede utilizarnohup
para iniciar el script.Se puede utilizar el siguiente comando en crontab:
@reboot nohup /usr/bin/python3 /ruta/miArchivo.py &