为什么crontab总是用新的PID重新启动我的python脚本[duplicate]

myzjeezk  于 2023-02-07  发布在  Python
关注(0)|答案(1)|浏览(168)

此问题在此处已有答案

Start a python script at startup automatically?(1个答案)
1年前关闭。
我有一个python3脚本,并希望在重启后自动启动它。它正在启动,但它总是以新的PID启动,我用ps aux检查了它。如果我通过终端启动文件,它只是以相同的PID运行。
我在crontab中使用了@reboot /usr/bin/python3 /path/myFile.py

import sys

from cryptography import x509
sys.path.insert(0, "..")
import time

from opcua import ua, Server

if __name__ == "__main__":

    # setup our server
    server = Server()
    server.set_endpoint("opc.tcp://0.0.0.0:4842/freeopcua/server/")

    # setup our own namespace, not really necessary but should as spec
    uri = "http://examples.freeopcua.github.io"
    idx = server.register_namespace(uri)

    # get Objects node, this is where we should put our nodes
    objects = server.get_objects_node()

    # populating our address space
    myobj = objects.add_object(idx, "MyObject")
    startCali = myobj.add_variable(idx, "Start Calibration", True)
    brigthness = myobj.add_variable(idx, "Brightneess", 0.0)

    brigthness.set_writable()
    startCali.set_writable()    # Set MyVariable to be writable by clients
    oldstartCalivar = 0
    oldbrightnesss = 1.0
    
   
 

    # starting!
    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:
        #close connection, remove subcsriptions, etc
        server.stop()
lvmkulzt

lvmkulzt1#

我用另一种方法解决了这个问题:
https://stackoverflow.com/questions/51025312/start-a-python-script-at-startup-automatically
--〉阿尔齐奥姆·普拉纽斯基的回答

相关问题