一、运行环境
pycharm 2020 社区版
python 3.7
psutil 5.9.4
二、实际代码
使用进程判断是否存在在exe,存在则无法启动不存在则启动。
import os
import sys
import psutil
import tkinter
from tkinter import messagebox
from framework.base.BaseConfig import BaseConfig
from framework.views.LoginView import LoginView
if __name__ == '__main__':
pids = psutil.pids() # 获取所有进程PID
list = [] # 空列表用来存储PID名称
for pid in pids: # 遍历所有PID进程
p = psutil.Process(pid) # 得到每个PID进程信息
list.append(p.name()) # 将PID名称放入列表
s = str(p.name()) # 将PID名称转换成字符串进行判断
if s == "Program.exe": # “123.exe”你要防多开进程的名称
print(s+"当前程序已经被打开")
pidd = os.getpid() # 获取当前PID名称
#root = tkinter.Tk().withdraw()
#messagebox.showwarning(title='提示', message='当前程序已经被打开')
# root.mainloop()
sys.exit()
# cmd = 'taskkill /pid ' + "pidd" + ' /f' # 输入关闭名称命令
# os.system(cmd)
原本是打算使用
root = tkinter.Tk().withdraw()
隐藏tk的。但是不好用啊。python gui各种问题 我也是醉了。
做GUI好的是net
python的gui玩玩得了。