如何安排 python 脚本在给定时间退出
How to schedule python script to exit at given time
我需要安排一个 python 脚本,它可以在给定时间退出并自行终止。对于调度,我使用 python schedule
下面是代码:
import schedule
from threading import Thread
import time
import sys
def exit_data():
print("Exiting")
sys.exit()
def exit_data_thread():
schedule.every().day.at('13:20').do(exit_data)
while True:
schedule.run_pending()
time.sleep(1)
def main():
Thread(target=exit_data_thread).start()
while True:
time.sleep(1)
main()
函数 exit_data()
在给定时间运行并打印 Exiting
但不退出。它只打印 Exiting
,然后保留 运行。我还使用 quit
而不是 sys.exit()
。请帮忙。谢谢
尝试给自己发送信号:p
import schedule
from threading import Thread
import time
import sys
import os
import signal
def exit_data():
print("Exiting")
# sys.exit()
os.kill(os.getpid(), signal.SIGTERM)
def exit_data_thread():
schedule.every(3).seconds.do(exit_data)
while True:
schedule.run_pending()
time.sleep(1)
def main():
Thread(target=exit_data_thread).start()
while True:
time.sleep(1)
main()
要在线程内关闭整个程序,可以使用os._exit()
。调用sys.exit()
只会退出线程,不会退出整个程序。
我需要安排一个 python 脚本,它可以在给定时间退出并自行终止。对于调度,我使用 python schedule
下面是代码:
import schedule
from threading import Thread
import time
import sys
def exit_data():
print("Exiting")
sys.exit()
def exit_data_thread():
schedule.every().day.at('13:20').do(exit_data)
while True:
schedule.run_pending()
time.sleep(1)
def main():
Thread(target=exit_data_thread).start()
while True:
time.sleep(1)
main()
函数 exit_data()
在给定时间运行并打印 Exiting
但不退出。它只打印 Exiting
,然后保留 运行。我还使用 quit
而不是 sys.exit()
。请帮忙。谢谢
尝试给自己发送信号:p
import schedule
from threading import Thread
import time
import sys
import os
import signal
def exit_data():
print("Exiting")
# sys.exit()
os.kill(os.getpid(), signal.SIGTERM)
def exit_data_thread():
schedule.every(3).seconds.do(exit_data)
while True:
schedule.run_pending()
time.sleep(1)
def main():
Thread(target=exit_data_thread).start()
while True:
time.sleep(1)
main()
要在线程内关闭整个程序,可以使用os._exit()
。调用sys.exit()
只会退出线程,不会退出整个程序。