[英]How to launch a python process in Windows SYSTEM account
我正在用 python 編寫一個測試應用程序並測試一些特定的場景,我需要在 Windows SYSTEM 帳戶中啟動我的 python 子進程。 我可以通過從我的 python 腳本創建 exe 來做到這一點,然后在創建 Windows 服務時使用它。 但是這個選項對我不利,因為將來如果我更改 python 腳本中的任何內容,那么我每次都必須重新生成 exe。
如果有人對如何做到這一點有更好的想法,請告訴我。
比什努
這允許您將服務與其執行的 Python 代碼分離,從而避免重復重新安裝服務。
如果您不想在服務中運行,那么您可以使用CreateProcessAsUser
或類似的 API。
您也可以使用 Windows 任務計划程序,它可以在 SYSTEM 帳戶下運行腳本,並且其界面很簡單(如果您不經常測試:-))
要使用系統帳戶權限運行文件,您可以使用psexec
。 下載: Sysinternals
然后你可以使用:
os.system
或者
subprocess.call
並執行:
PSEXEC -i -s -d CMD "path\to\yourfile"
剛剛遇到這個 - 我知道,有點晚了,但無論如何。 我遇到了類似的情況,我用 NSSM ( Non_Sucking Service Manager ) 解決了它。 基本上,該程序使您能夠將任何可執行文件作為服務啟動,我使用 Python 可執行文件執行此操作,並將我正在測試的 Python 腳本作為參數提供給它。
所以我可以運行該服務並根據需要編輯腳本。 當我對腳本進行任何更改時,我只需要重新啟動服務。
生產環境的一點:盡量不要依賴像 NSSM 這樣的第三方軟件。 您也可以使用標准SC
命令(請參閱此答案)或 PowerShell( 請參閱此 MS 文檔)來實現此目的。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.