中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁 > news >正文

建網(wǎng)站的重要性網(wǎng)絡(luò)營銷服務(wù)的內(nèi)容

建網(wǎng)站的重要性,網(wǎng)絡(luò)營銷服務(wù)的內(nèi)容,高端服裝品牌排行榜,自建個人網(wǎng)站閑來無事用py寫了一個啟動Redis和Nacos的小程序,這里記錄一下! (有需要的復(fù)制之后修改成自己的路徑) import subprocess import tkinter as tk from tkinter import ttk, messagebox from subprocess import Popen, run, PIPE i…

閑來無事用py寫了一個啟動Redis和Nacos的小程序,這里記錄一下!
(有需要的復(fù)制之后修改成自己的路徑)
在這里插入圖片描述

import subprocess
import tkinter as tk
from tkinter import ttk, messagebox
from subprocess import Popen, run, PIPE
import threading
import time# 檢查端口是否被占用
def is_port_in_use(port):pid = find_pid_by_port(port)return pid is not None# 啟動Redis的函數(shù)
def start_redis():redis_path = redis_entry.get()redis_conf = redis_conf_entry.get()if not redis_path or not redis_conf:messagebox.showerror("錯誤", "請輸入Redis路徑和配置文件路徑")return# 檢查6379端口是否已被占用if is_port_in_use(6379):messagebox.showinfo("Redis狀態(tài)", "Redis 已在運(yùn)行 (6379端口已被占用)")returntry:# 異步啟動RedisPopen([redis_path, redis_conf])messagebox.showinfo("Redis狀態(tài)", "Redis啟動命令已發(fā)送,請檢查Redis是否已啟動。")except Exception as e:messagebox.showerror("錯誤", f"啟動Redis失敗: {str(e)}")# 啟動Nacos的函數(shù)
def start_nacos():nacos_path = nacos_entry.get()if not nacos_path:messagebox.showerror("錯誤", "請輸入Nacos啟動路徑")return# 檢查8848端口是否已被占用if is_port_in_use(8848):messagebox.showinfo("Nacos狀態(tài)", "Nacos 已在運(yùn)行 (8848端口已被占用)")returntry:# 異步啟動NacosPopen([nacos_path, '-m', 'standalone'])messagebox.showinfo("Nacos狀態(tài)", "Nacos 啟動命令已發(fā)送,請檢查Nacos是否已啟動。")except Exception as e:messagebox.showerror("錯誤", f"啟動Nacos失敗: {str(e)}")# 關(guān)閉Redis的函數(shù)
def stop_redis():pid = find_pid_by_port(6379)if pid:message = kill_process(pid)messagebox.showinfo("關(guān)閉Redis", message)else:messagebox.showinfo("關(guān)閉Redis", "Redis 未運(yùn)行 (6379端口未被占用)")# 關(guān)閉Nacos的函數(shù)
def stop_nacos():pid = find_pid_by_port(8848)if pid:message = kill_process(pid)messagebox.showinfo("關(guān)閉Nacos", message)else:messagebox.showinfo("關(guān)閉Nacos", "Nacos 未運(yùn)行 (8848端口未被占用)")# 查找指定端口占用的進(jìn)程ID
def find_pid_by_port(port):"""通過端口號查找對應(yīng)的進(jìn)程ID(PID):param port: 要查找的端口號:return: 端口對應(yīng)的進(jìn)程ID,如果找不到則返回None"""command = f"netstat -ano | findstr :{port}"result = subprocess.run(command, shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE, text=True)if result.returncode != 0:return Nonefor line in result.stdout.split('\n'):parts = line.split()pid_part = parts[-1] if parts else ''if pid_part.isdigit() and int(pid_part) > 0:return int(pid_part)return None# 殺死指定PID的進(jìn)程
def kill_process(pid):command = f"taskkill /F /PID {pid}"result = run(command, shell=True, stdout=PIPE, stderr=PIPE, text=True)if result.returncode == 0:return f"進(jìn)程ID為 {pid} 的進(jìn)程已成功被殺死。"else:return f"無法殺死進(jìn)程ID為 {pid} 的進(jìn)程: {result.stderr}"# 按鈕點擊事件處理函數(shù)
def on_button_click():port_input = port_entry.get()try:port = int(port_input)pid = find_pid_by_port(port)if pid:message = kill_process(pid)messagebox.showinfo("進(jìn)程操作結(jié)果", message)else:messagebox.showinfo("未找到進(jìn)程", f"沒有找到監(jiān)聽在端口 {port} 上的進(jìn)程。")except ValueError:messagebox.showerror("輸入錯誤", "請輸入有效的端口號(整數(shù))。")# 更新服務(wù)狀態(tài)顯示
def update_service_status():while True:# 獲取當(dāng)前狀態(tài)nacos_status = "運(yùn)行中" if is_port_in_use(8848) else "未運(yùn)行"redis_status = "運(yùn)行中" if is_port_in_use(6379) else "未運(yùn)行"# 更新顯示status_text = f"Redis狀態(tài): {redis_status}\nNacos狀態(tài): {nacos_status}"status_label.config(text=status_text)# 根據(jù)狀態(tài)設(shè)置顏色if redis_status == "運(yùn)行中":status_label_redis.config(text="●", foreground="green")else:status_label_redis.config(text="●", foreground="red")if nacos_status == "運(yùn)行中":status_label_nacos.config(text="●", foreground="green")else:status_label_nacos.config(text="●", foreground="red")# 每隔2秒更新一次time.sleep(2)# 主函數(shù)
def main():global status_label, status_label_nacos, status_label_redisroot = tk.Tk()root.title("服務(wù)啟動器")# 默認(rèn)路徑DEFAULT_REDIS_PATH = r'D:\environment\redis\Redis-x64-5.0.14.1\redis-server.exe'DEFAULT_REDIS_CONF = r'D:\environment\redis\Redis-x64-5.0.14.1\redis.windows.conf'DEFAULT_NACOS_PATH = r'D:\environment\code-software\nacos-server-1.4.1\nacos\bin\startup.cmd'# 主框架main_frame = ttk.Frame(root, padding="20 20 20 20")main_frame.pack(fill=tk.BOTH, expand=True)# 端口操作部分port_frame = ttk.LabelFrame(main_frame, text="端口操作", padding="10 10 10 10")port_frame.pack(fill=tk.X, pady=10)ttk.Label(port_frame, text="請輸入端口號:").pack(side=tk.LEFT)global port_entryport_entry = ttk.Entry(port_frame)port_entry.pack(side=tk.LEFT, padx=10, fill=tk.X, expand=True)ttk.Button(port_frame, text="殺死進(jìn)程", command=on_button_click).pack(side=tk.RIGHT)# 服務(wù)狀態(tài)顯示部分status_frame = ttk.LabelFrame(main_frame, text="服務(wù)狀態(tài)", padding="10 10 10 10")status_frame.pack(fill=tk.X, pady=10)# 狀態(tài)顯示標(biāo)簽status_label = ttk.Label(status_frame, text="Redis狀態(tài): 檢測中...\nNacos狀態(tài): 檢測中...")status_label.pack(side=tk.LEFT, padx=10)# 狀態(tài)指示燈indicator_frame = ttk.Frame(status_frame)indicator_frame.pack(side=tk.RIGHT, padx=10)ttk.Label(indicator_frame, text="Redis:").pack(side=tk.LEFT, padx=(10, 0))status_label_redis = ttk.Label(indicator_frame, text="●", foreground="gray")status_label_redis.pack(side=tk.LEFT, padx=5)ttk.Label(indicator_frame, text="Nacos:").pack(side=tk.LEFT)status_label_nacos = ttk.Label(indicator_frame, text="●", foreground="gray")status_label_nacos.pack(side=tk.LEFT, padx=5)# Redis路徑部分redis_frame = ttk.LabelFrame(main_frame, text="Redis配置", padding="10 10 10 10")redis_frame.pack(fill=tk.X, pady=10)ttk.Label(redis_frame, text="Redis路徑:").pack(side=tk.LEFT)global redis_entryredis_entry = ttk.Entry(redis_frame)redis_entry.insert(0, DEFAULT_REDIS_PATH)redis_entry.pack(side=tk.LEFT, padx=10, fill=tk.X, expand=True)ttk.Label(redis_frame, text="配置文件:").pack(side=tk.LEFT)global redis_conf_entryredis_conf_entry = ttk.Entry(redis_frame)redis_conf_entry.insert(0, DEFAULT_REDIS_CONF)redis_conf_entry.pack(side=tk.LEFT, padx=10, fill=tk.X, expand=True)# Redis按鈕框架redis_btn_frame = ttk.Frame(redis_frame)redis_btn_frame.pack(side=tk.RIGHT)ttk.Button(redis_btn_frame, text="啟動Redis", command=start_redis).pack(side=tk.LEFT, padx=5)ttk.Button(redis_btn_frame, text="關(guān)閉Redis", command=stop_redis).pack(side=tk.LEFT, padx=5)# Nacos路徑部分nacos_frame = ttk.LabelFrame(main_frame, text="Nacos配置", padding="10 10 10 10")nacos_frame.pack(fill=tk.X, pady=10)ttk.Label(nacos_frame, text="Nacos啟動路徑:").pack(side=tk.LEFT)global nacos_entrynacos_entry = ttk.Entry(nacos_frame)nacos_entry.insert(0, DEFAULT_NACOS_PATH)nacos_entry.pack(side=tk.LEFT, padx=10, fill=tk.X, expand=True)# Nacos按鈕框架nacos_btn_frame = ttk.Frame(nacos_frame)nacos_btn_frame.pack(side=tk.RIGHT)ttk.Button(nacos_btn_frame, text="啟動Nacos", command=start_nacos).pack(side=tk.LEFT, padx=5)ttk.Button(nacos_btn_frame, text="關(guān)閉Nacos", command=stop_nacos).pack(side=tk.LEFT, padx=5)# 嘗試設(shè)置ttk主題style = ttk.Style()try:style.theme_use('clam')except tk.TclError:print("主題clam不可用,使用默認(rèn)主題。")# 啟動狀態(tài)更新線程status_thread = threading.Thread(target=update_service_status, daemon=True)status_thread.start()root.mainloop()if __name__ == "__main__":main()

最后打開cmd到py文件為止,打包成exe

pyinstaller --noconsole -F .\start.py

還有個缺點,運(yùn)行之后會生成derby.log和一個word文件,不知道怎么去除,有能力的改一下(改代碼,別改軟件的配置)!

http://www.risenshineclean.com/news/6355.html

相關(guān)文章:

  • 騰訊短鏈接生成seo褲子的關(guān)鍵詞首頁排名有哪些
  • 做買衣服的網(wǎng)站友情鏈接互換網(wǎng)站
  • app外包流程濰坊自動seo
  • 成都制作網(wǎng)站寧波seo企業(yè)網(wǎng)絡(luò)推廣
  • 購物網(wǎng)站建設(shè)思維導(dǎo)圖百度app官方正式版
  • php免費(fèi)網(wǎng)站系統(tǒng)電商seo是什么意思
  • 免費(fèi)網(wǎng)站代碼下載百度號碼
  • WordPress網(wǎng)站打不開nginx百度一下了你就知道官網(wǎng)
  • 做介紹美食網(wǎng)站的菜單的企業(yè)seo整站優(yōu)化方案
  • 咋做網(wǎng)站代碼背景圖seo怎樣優(yōu)化網(wǎng)站
  • 網(wǎng)站解析查詢?nèi)W(wǎng)營銷渠道
  • 淮南發(fā)布seo網(wǎng)站優(yōu)化培訓(xùn)公司
  • pa66用途障車做網(wǎng)站百度應(yīng)用商店下載安裝
  • 東莞公司網(wǎng)站開發(fā)武漢網(wǎng)站設(shè)計十年樂云seo
  • 個性化定制網(wǎng)站公司宣傳軟文
  • 三好街做網(wǎng)站的公司百度搜索網(wǎng)站優(yōu)化
  • 如何在本地發(fā)布自己做的網(wǎng)站中國十大網(wǎng)站排名
  • 2021跨境電商最火的產(chǎn)品西安seo技術(shù)
  • 版式設(shè)計網(wǎng)站優(yōu)化人員通常會將目標(biāo)關(guān)鍵詞放在網(wǎng)站首頁中的
  • 網(wǎng)站集群建設(shè)廣告平臺
  • 網(wǎng)站查詢功能怎么做seo咨詢河北
  • 教育類網(wǎng)站模板交換鏈接名詞解釋
  • 創(chuàng)業(yè)網(wǎng)站推廣怎么做seo最新優(yōu)化技術(shù)
  • 在網(wǎng)盤上怎么做自己的網(wǎng)站太原網(wǎng)站開發(fā)
  • 網(wǎng)站開發(fā)技術(shù)說明文檔網(wǎng)絡(luò)軟文推廣網(wǎng)站
  • 北京制作小程序seo的基本步驟是什么
  • 中山精品網(wǎng)站建設(shè)信息昆明網(wǎng)站開發(fā)推廣公司
  • centos 網(wǎng)站開發(fā)工具怎么做公司網(wǎng)頁
  • 日本男女做受網(wǎng)站手機(jī)百度如何發(fā)布廣告
  • 專門做布料的網(wǎng)站外貿(mào)接單平臺哪個最好