ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

基于服务器资源监控程序增加一键关机

2022-09-02 09:30:34  阅读:179  来源: 互联网

标签:关机 self 服务器资源 一键 Shutdown info1 td wx


增加一键关机按钮

        
        #一键关机
        self.Shutdown_btn = wx.Button(self.panel1, -1, "一键关机", pos=(950,20),size=(70, 70))
        #前景格式
        fontButton = wx.Font(10,wx.SCRIPT,wx.LIGHT,wx.NORMAL,faceName="黑体")
        self.Shutdown_btn.SetFont(fontButton)
        #背景颜色
        self.Shutdown_btn.SetBackgroundColour("#ff9933")
        self.Bind(wx.EVT_BUTTON, self.Shutdown, self.Shutdown_btn)

  增加一键关机方法(会调用之前的SSH登录方式)

    def Shutdown(self,event):
        #实例化Remote_management_WayKind类
        self.Ssh_load = MESRM.Remote_management_WayKind() 
        with open("ServerComputerInfo.json", 'r') as fw:
            injson = json.load(fw)

        LoadInfolist1= []
        LoadInfolist3= []

        for key1,value in injson.items():
            
                    
            if key1 == 'SoftWarePC' :
                self.log_info1.AppendText('\n' +key1 + '虚拟主机正在关机\n')
                for value2 in value :
                           
                    LoadInfolist2=[]
                    for key,value3 in value2.items():             
                   
                        LoadInfolist2.append(value3)
                    LoadInfolist1.append(LoadInfolist2)            
                                
                countlen =  len(LoadInfolist1)    
                for i in range(countlen): 
                    self.log_info1.AppendText(LoadInfolist1[i][0]+'虚拟机正在关机 \n' )   
                
                    td = Thread(target=self.Use_Monitor, args=(self, LoadInfolist1[i]))
                    td.setDaemon(1)
                    td.start()
            else:
                self.log_info1.AppendText('\n' +key1 + '实体机关机等待120秒\n')
                
                def HardWarePC():
                    timecount = 120  
                    for i in range(120):
                        #nowtime = datetime.datetime.now()
                        self.log_info1.AppendText('实体机关机倒计时 ' + str(timecount) +'秒 \n')
                        timecount = timecount - 1
                        time.sleep(1)
                    
                    for value2 in value :
                               
                        LoadInfolist4=[]
                        for key,value3 in value2.items():             
                       
                            LoadInfolist4.append(value3)
                        LoadInfolist3.append(LoadInfolist4)            
                                    
                    countlen =  len(LoadInfolist3)    
                    for i in range(countlen): 
                        self.log_info1.AppendText(LoadInfolist3[i][0]+'实体机开始关机 \n' )   
                    
                        td = Thread(target=self.Use_Monitor, args=(self, LoadInfolist3[i]))
                        td.setDaemon(1)
                        td.start()
                        
                td = Thread(target=HardWarePC)
                td.setDaemon(1)
                td.start()

  调用json文件的格式,注意json细节,比如逗号和括号的使用

{
  "SoftWarePC": 
  [
    {
        "ip": "X.x.x.x",
        "name": "abcde",
        "password": "dadas",
        "command": "sudo shutdown -h now;shutdown -s -t 0"
    }
    
    
  ],

  "HardWarePC": 
  [
    {
        "ip": "1.2.2.3",
        "name": "464564",
        "password": "dadasd",
        "command": "sudo shutdown -h now;shutdown -s -t 0"
    }
    
  ]
}

  

标签:关机,self,服务器资源,一键,Shutdown,info1,td,wx
来源: https://www.cnblogs.com/babashi9527/p/16648666.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有