1 Star 0 Fork 31

GXDE OS/Wine 运行器

forked from gfdgd xi/Wine 运行器 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
updatekiller.py 1.12 KB
一键复制 编辑 原始数据 按行查看 历史
#!/usr/bin/env python3
import sys
import os
import atexit
TMPDIR = os.getenv("TMPDIR")
if (TMPDIR == None):
TMPDIR = ""
PIDFILE = TMPDIR + '/tmp/deepin-wine-runner.pid'
if (not os.path.exists(TMPDIR + "/tmp")):
os.makedirs(TMPDIR + "/tmp")
#程序结束时清理pid
@atexit.register
def remove_pid():
'''程序结束时清理pid'''
with open(PIDFILE) as pidfile:
pidlst = pidfile.readlines()
pidlst.remove(str(PID)+'\n') #移除记录中的pid
with open(PIDFILE,'w') as pidfile:
pidfile.writelines(pidlst)
#更新时结束进程
def main():
for i in open(PIDFILE):
try:
os.kill(int(i),15)
except ProcessLookupError:
pass
## os.remove(PIDFILE) #因修复#I6ZRZX而注释
#当该程序被直接执行时,执行结束进程操作。如果是导入的形式,则只是记录pid
if __name__ == '__main__':
sys.exit(main())
else:
#获取进程pid,用于更新时结束进程
PID = os.getpid()
with open(PIDFILE,'a') as pidfile:
print(PID,file=pidfile) #使用print可以在行末输出换行符,而且可以省去类型转换
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Python
1
https://gitee.com/GXDE-OS/deep-wine-runner.git
git@gitee.com:GXDE-OS/deep-wine-runner.git
GXDE-OS
deep-wine-runner
Wine 运行器
main

搜索帮助