0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看威廉希尔官方网站 视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何在ROS中检查保存log的文件夹有多大

麦辣鸡腿堡 来源:古月居 作者:古月居 2023-09-14 18:07 次阅读

检查log文件夹占用空间

roslaunch这个python包还负责检查保存log的文件夹有多大。在ros_comm-noetic-develtoolsroslaunchsrcroslaunch_ init _.py文件中的main函数里,有以下语句。

看名字就知道是干啥的了。

rlutil.check_log_disk_usage()

再打开同一路径下的rlutil.py,发现它又调用了rosclean包中的get_disk_usage函数。

我们发现,这个函数里直接写死了比较的上限:disk_usage > 1073741824,当然这样不太好,应该改为可配置的。

数字1073741824的单位是字节,刚好就是1GB(102 4 3 1024^31024 3byte)。

我们要是想修改log文件夹报警的上限,直接改这个值即可。

def check_log_disk_usage():
    """
    Check size of log directory. If high, print warning to user
    """
    try:
        d = rospkg.get_log_dir()
        roslaunch.core.printlog("Checking log directory for disk usage. This may take a while.nPress Ctrl-C to interrupt") 
        disk_usage = rosclean.get_disk_usage(d)
        # warn if over a gig
        if disk_usage > 1073741824:
            roslaunch.core.printerrlog("WARNING: disk usage in log directory [%s] is over 1GB.nIt's recommended that you use the 'rosclean' command."%d)
        else:
            roslaunch.core.printlog("Done checking log file disk usage. Usage is < 1GB.")            
    except:
        pass

我们刨根问底,追查rosclean.get_disk_usage(d)是如何实现的。

这个rosclean包不在ros_comm里面,需要单独下载

打开后发现这个包还是跨平台的,给出了Windows和Linux下的实现。

如果是Windows系统,用os.path.getsize函数获取文件的大小,通过os.walk函数遍历所有文件,加起来就是文件夹的大小。

如果是Linux系统,用Linux中的du -sb命令获取文件夹的大小。哎,搞个机器人不仅要学习python,还得熟悉Linux,容易吗?

图片

主节点会获取用户设置的ROS_MASTER_URI变量中列出的URI地址和端口号(默认为当前的本地IP和11311端口号)。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 函数
    +关注

    关注

    3

    文章

    4182

    浏览量

    61593
  • 文件夹
    +关注

    关注

    0

    文章

    14

    浏览量

    8022
  • ROS
    ROS
    +关注

    关注

    1

    文章

    275

    浏览量

    16803
收藏 人收藏

    评论

    相关推荐

    labview 如何读取一个文件夹的所有图片,并保存到指定的文件夹

    我自己完成了读取一张图片并保存,但是如何读取一个文件夹的所有图片。。大佬指导一下。
    发表于 09-22 12:25

    请问如何在sdk添加rtos文件夹

    何在sdk添加rtos文件夹
    发表于 03-16 07:11

    如何/怎样显示隐藏文件文件夹

    如何/怎样显示隐藏文件文件夹 首先打开我的电脑
    发表于 08-03 22:23 1955次阅读

    如何给共享文件夹加密

    如何给共享文件夹加密 对于windows XP用户:   1. 打开“我的电脑”->“工具”->“文件夹选项”->“查看”->去掉“使
    发表于 02-24 11:31 2313次阅读

    如何删除msn共享文件夹

    如何删除msn共享文件夹  Q:我的电脑中有个安装了MSN 8.0才有的无名文件夹。我想问问董师傅,这个文件夹到底有什么?如何删除?
    发表于 02-24 13:56 766次阅读

    Android系统文件夹结构解析

    Android系统文件夹结构解析
    发表于 03-19 11:23 0次下载

    ubuntu隐藏/显示文件文件夹

    ubuntu 16.04 LTS - 隐藏/显示文件文件夹 1. GUI hot key Ctrl H: 隐藏/显示文件文件夹 2. Show hidden and backup
    发表于 11-25 12:52 4984次阅读

    cmd如何在命令提示符下文件夹操作?详细方法实例分析

    本文档的主要内容详细介绍的是cmd如何在命令提示符下文件夹操作?详细方法实例分析。
    发表于 09-26 17:04 0次下载
    cmd如<b class='flag-5'>何在</b>命令提示符下<b class='flag-5'>文件夹</b>操作?详细方法实例分析

    Linux如何判断文件夹是否存在并新建文件夹

    本文档的主要内容详细介绍的是Linux如何判断文件夹是否存在并新建文件夹vi文件免费下载。
    发表于 01-17 08:00 8次下载
    Linux<b class='flag-5'>中</b>如何判断<b class='flag-5'>文件夹</b>是否存在并新建<b class='flag-5'>文件夹</b>

    何在文件管理器隐藏文件文件夹

    如果一个系统被多个用户使用,你或许出于个人原因想在文件管理器隐藏一些文件文件夹不让其他人看到(绝大多数用户不会对 Linux 系统进行深入了解,所以他们只会看到
    发表于 05-13 09:34 1254次阅读
    如<b class='flag-5'>何在</b><b class='flag-5'>文件</b>管理器<b class='flag-5'>中</b>隐藏<b class='flag-5'>文件</b>和<b class='flag-5'>文件夹</b>

    ASP NET的APP Code和BIN文件夹的详细介绍

    如果您的 Web 应用程序包括要在多个页之间共享的代码,您可以将代码保存在 Web 应用程序根目录下的两个特殊文件夹(Bin 文件夹和 App_Code 文件夹
    发表于 10-17 15:39 14次下载

    Unity中所有特殊的文件夹

    隐藏文件夹:以.开头的文件夹会被Unity忽略。在这种文件夹的资源不会被导入,脚本不会被编译。也不会出现在Project视图中。
    的头像 发表于 02-12 16:10 2425次阅读

    笔记:Unity中所有特殊的文件夹

    隐藏文件夹:以.开头的文件夹会被Unity忽略。在这种文件夹的资源不会被导入,脚本不会被编译。也不会出现在Project视图中。
    发表于 01-21 06:24 4次下载
    笔记:Unity中所有特殊的<b class='flag-5'>文件夹</b>

    windows7系统隐藏文件夹的方法是怎样的

    使用win7系统的过程,经常会发现找不到许多文件夹,这是因为文件夹被隐藏了,那么win7系统隐藏文件夹怎么查看?因此今天小编就来告诉大家显示win7
    发表于 03-24 17:22 864次阅读

    何在Linux的文件文件夹搜索文本?

    如果您是开发人员、Web 程序员或处理许多文件的人,并且需要查找单个文本,今天可要好好看这篇文章了。 假设您有一个包含 30 个文件夹和 20,000 个文件的目录,这些文件夹
    的头像 发表于 05-12 16:19 1454次阅读