簡體   English   中英

為什么 crontab 總是用新的 PID 重新啟動我的 python 腳本

[英]Why does crontab always restart my python script with a new PID

我有一個 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()

我用另一種方法解決了它:

https://stackoverflow.com/questions/51025312/start-a-python-script-at-startup-automatically

-->Artsiom Praneuski 的回答

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM