0
我有一個python腳本,其輸出被傳送到日誌文件中。我可以使用os.exec調用從內部重新啓動文件,但如果我這樣做,新進程不會將其輸出寫入日誌文件。如何在重新啓動進程後保持輸出重定向?將輸出重定向到os.exec後的文件*
我的腳本開始:
python3.6 script.py >> home/pi/log/telegram_bot.log 2>&1 &
我重啓線:
import os
import sys
os.execv(sys.executable, [sys.executable] + sys.argv)
你使用os.execv而不是子進程的任何原因? – Alan
@Alan他們有不同的用途:子進程產生一個子進程(讓你有兩個),exec將當前進程轉換爲新進程。 @Nexxurs,我不認爲['exec *'](https://docs.python.org/3.6/library/os.html#process-management)系列提供了一個重定向流的接口。但是,爲什麼麻煩執行你的過程而不是再次調用你的主函數呢? – Will
這是回答[這裏](https://stackoverflow.com/questions/8500047/how-to-inherit-stdin-and-stdout-in-python-by-using-os-execv) – user2722968