linux 清理 pyinstaller 打包程序运行留下的临时文件
前言
pyinstaller 打包的 python 二进制可执行程序运行的时候,会在 /tmp 目录下生成 _MEI* (*指的是随机数字)文件夹,
如果程序没有正常退出或者终止了,_MEI* 文件夹就会留下来。这中情况下,如果重启 linux 是可以清理 /tmp 目录的,但
如果不能轻易重启 linux, 就要另想方案来清理。
如果在程序运行中,直接删除 _MEI* 文件夹,会影响程序的正常运行。所以方案就是找到没有被程序占用的 _MEI* 文件夹并
删除。
看到有的博客是在程序运行结束后,执行一遍删除操作,但并不适合程序连续运行且重启的情况。下面给出了一种使用 linux lsof
指令找到未被占用的 _MEI* 文件并删除的方案。
正文
clean.sh
#!/bin/bash
# 清除 /tmp/目录下类似于_MEI1iHg0y的不被占用的文件,防止占用存储过多
# 遍历/tmp/目录下的所有文件夹
for dir in /tmp/*; do
# 检查文件夹名称是否符合特定模式
if [[ $dir =~ _MEI[0-9a-zA-Z]{6} ]]; then
# 检查文件夹是否被其他进程占用
has_pid=`lsof +D ${dir} 2> /dev/null | grep COMMAND`
if [[ ${has_pid} == "" ]]; then
# 删除文件夹及其内容
rm -rf $dir
if [[ $? == 0 ]];then
echo -e "Delete $dir success"
else
echo -e "Delete $dir failed"
fi
fi
fi
done
linux 清理 pyinstaller 打包程序运行留下的临时文件的更多相关文章
- pyinstaller打包程序 带图片
首选说一下,这种打包方式只能在本电脑上使用运行正常 准备:.py文件:你的程序 gif文件:你要用的图片 第一步: 在上面文件所在目录打开cmd 输入 pyi-makespec FP.py 会生成一个 ...
- 关于pyinstaller打包程序时设置icon时的一个坑
关于pyinstaller打包程序时设置icon时的一个坑 之前在用pyinstaller打包程序的时候遇到了关于设置图标的一点小问题,无论在后面加--icon 或是-i都出现报错.查了下st ...
- python 脚本中使用了第三方openpyxl 打包程序运行提示ImportError:cannot import name __version__
最近写了一个脚本,脚本中使用了第三方openpyxl(openpyxl是使用 pip install openpyxl 下载的),先是使用py2exe打包程序,打包过程中提示很多文件没有包含,在没有仔 ...
- Python Pyinstaller 打包程序及遇到的问题总结
一.如何打包py程序 1.安装打包模块 pip install pyinstaller 2.定义保存包的路径 CMD ,CD 比方:把最终*.exe运行文件,保存到H盘 install 文件夹下. 输 ...
- Pyinstaller 打包程序为可执行文件exe
Pyiinstaller打包 pyinstaller是python的一个第三方模块,使用它可以将pythnon程序打包为可执行文件,实现打包后的程序在没有python环境的机器上也可以运行.pyins ...
- python 使用pyinstaller打包程序
使用pyinstaller 打包.py脚本,在其他计算机可以直接运行,不需要python环境 安装pyinstaller库 pip install pystaller 打包程序 pyinstaller ...
- pyinstaller打包exe运行失败
使用Pyinstaller来打包自己开发的软件时遇到的几个问题及解决方法.工具主要功能是数据分析,使用机器学习算法完成数据训练和预测功能.主要用到了两个学习库keras和sklearn,所以说在打包时 ...
- linux下实现在程序运行时的函数替换(热补丁)
声明:以下的代码成果,是参考了网上的injso技术,在本文的最后会给出地址,同时非常感谢injso技术原作者的分享. 但是injso文章中的代码存在一些问题,所以后面出现的代码是经过作者修改和检测的. ...
- linux(ubuntu) 搭建java程序运行环境
一:简介 ubuntu 系统的和linux差不多,我们需要在系统上搭建java程序运行环境,需要安装jdk,mysql这两个软件,tomcat是绿色版,直接通过taz -zxvf tomcat 就可以 ...
- linux下实现在程序运行时的函数替换(热补丁)【转】
转自:http://www.cnblogs.com/leo0000/p/5632642.html 声明:以下的代码成果,是参考了网上的injso技术,在本文的最后会给出地址,同时非常感谢injso技术 ...
随机推荐
- SQL函数详解SUM\COUNT\AVG......
朋友们,个人公众号:SQL数据库运维 移动端的学习分享,各种数据库基础知识,一起进步,共同学习,期待你的加入. 函数的类型 1.聚合函数:对一组值执行计算,并返回单个值,也被称为组函数.聚合函数经常与 ...
- leaflet 根据一个经纬度及距离角度,算出另外一个经纬度
/** * 根据一个经纬度及距离角度,算出另外一个经纬度 * @param {*} lng 经度 113.3960698 * @param {*} lat 纬度 22.941386 * @param ...
- wxpython模块详解
一.python gui(图形化)模块介绍: Tkinter :是python最简单的图形化模块,总共只有14种组建 Pyqt :是python最复杂也是使用最广泛的图形化 Wx ...
- dbeaver使用详解
1.dbeaver使用本地驱动 解压 点击可执行文件 驱动管理 新建驱动 起名字 com.mysql.jdbc.Driver jdbc:mysql//{host}[:{port}]/[{databas ...
- QShop商城--项目介绍
QShop商城-项目介绍 QShop商城,是全新推出的一款轻量级.高性能.前后端分离的电商系统,支持微信小程序,前后端源码100%开源,完美支持二次开发,让您快速搭建个性化独立商城. 技术架构:.Ne ...
- 为什么不推荐在Spring Boot中使用@Value加载配置
@Value注解相信很多Spring Boot的开发者都已经有接触了,通过使用该注解,我们可以快速的把配置信息加载到Spring的Bean中. 比如下面这样,就可以轻松的把配置文件中key为com.d ...
- 给大家分享一套非常棒的python机器学习课程
给大家分享一套非常棒的python机器学习课程--<AI小天才:让小学生轻松掌握机器学习>,2024年5月完结新课,提供配套的代码+笔记+软件包下载!学完本课程,可以轻松掌握机器学习的全面 ...
- 在 Rainbond 中一键安装高可用 Nacos 集群
描述如何通过云原生应用管理平台 Rainbond 一键安装高可用 Nacos 集群.这种方式适合不太了解 Kubernetes.容器化等复杂技术的用户使用,降低了在 Kubernetes 中部署 Na ...
- Autolayout 下面的 Layer.cornerRadius
一.问题: 如何在Autolayout模式中设置一个UIView的layer.cornerRadius? 二.解决: UiView的layer目前还不支持Autolayout设置约束,因此如果想设置一 ...
- Fluter 编译第一个iOS应用
一.流程说明 1)fluter是一个跨平台UI库,可以一份界面代码在iOS和Android上面运行 2)在Mac上面安装Fluter的环境,相对比较简单,通过简单的命令行可以设置环境 3)可以使用特定 ...