目的是什麼?
,如果你想隱藏(無窗)過程在後臺工作,最好的辦法是寫一個Windows服務和啓動/使用通常的窗口服務機制停止。 Windows服務可以很容易地用python編寫這裏是(它不會沒有一些修改即可運行)
import os
import time
import traceback
import pythoncom
import win32serviceutil
import win32service
import win32event
import servicemanager
import jagteraho
class JagteRahoService (win32serviceutil.ServiceFramework):
_svc_name_ = "JagteRaho"
_svc_display_name_ = "JagteRaho (KeepAlive) Service"
_svc_description_ = "Used for keeping important services e.g. broadband connection up"
def __init__(self,args):
win32serviceutil.ServiceFramework.__init__(self,args)
self.stop = False
def SvcStop(self):
self.ReportServiceStatus(win32service.SERVICE_STOP_PENDING)
self.log('stopping')
self.stop = True
def log(self, msg):
servicemanager.LogMsg(servicemanager.EVENTLOG_INFORMATION_TYPE,
servicemanager.PYS_SERVICE_STARTED,
(self._svc_name_,msg))
def SvcDoRun(self):
self.log('folder %s'%os.getcwd())
self.ReportServiceStatus(win32service.SERVICE_RUNNING)
self.start()
def shouldStop(self):
return self.stop
def start(self):
try:
configFile = os.path.join(jagteraho.getAppFolder(), "jagteraho.cfg")
jagteraho.start_config(configFile, self.shouldStop)
except Exception,e:
self.log(" stopped due to eror %s [%s]" % (e, traceback.format_exc()))
self.ReportServiceStatus(win32service.SERVICE_STOPPED)
if __name__ == '__main__':
win32serviceutil.HandleCommandLine(AppServerSvc)
我自己服務的一部分,您可以通過
python svc_jagteraho.py--startup auto install
安裝和
python python svc_jagteraho.py start
運行它,我會也可以在服務列表中看到,例如SERVICES.MSC會告訴它,你可以啓動/停止;否則可以使用命令行
sc stop jagteraho
你碰巧知道Linux上的相應模塊? – helplessKirk 2016-03-31 09:26:47