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

    文章

    3903

    浏览量

    61310
  • 文件夹
    +关注

    关注

    0

    文章

    14

    浏览量

    7973
  • ROS
    ROS
    +关注

    关注

    1

    文章

    271

    浏览量

    16685
收藏 人收藏

    评论

    相关推荐

    怎样加密文件夹

    加密文件夹很多方法,EFS文件夹加密法、隐藏文件夹法、压缩文件夹加密法、使用文件夹加密软件等,
    发表于 12-12 15:50

    Win7系统在库添加和删除文件夹的方法(多图)

    何在添加和删除文件夹,现在就随最新win7系统下载站win7zhijia.cn小编来学习一下具体操作方法吧。一、将文件夹添加到库的方
    发表于 06-05 16:03

    如何解决文件夹字体变蓝的问题

      最近有些朋友发现电脑中,文件夹字体变成了蓝色。这是怎么回事?会不会中病毒了?该如何解决呢?今天小编就教大家如何解决文件夹字体变成蓝色的问题。  原因分析:  这是因为磁盘的文件
    发表于 09-11 16:35

    Labview以当前日期创建文件夹,并保存数据为excel文件

    各位好,我目前在做一个测试软件,想要将姓名、单号、包括接收串口的字符串,等保存为excel文件,excel文件模板,必须按照模板保存,要求
    发表于 06-29 10:46

    超级秘密文件夹 V6.70官方版 - 文件夹加密软件

    级秘密文件夹文件夹加密解密速度超快,无论多大文件夹加密和解密都是在瞬间完成,并且文件夹的加密强度高。四、具有自动加密功能 使用方便加密
    发表于 05-24 17:10

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

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

    保存文件总是文件总是保存到上一级文件夹是怎么回事?

    保存文件总是文件总是保存到上一级文件夹,例如保存路径为J:\CESHI\DATA
    发表于 01-29 16:09

    VMware Ubuntu和Windows共享文件夹

    的权限,在windows上用Notepad修改保存后,可直接回到Ubuntu进行编译。编译完后直接回到文件夹看结果。具体方法是:在VMware虚拟机设置,切换到“选项”选项卡(硬件的旁边),第三个就是
    发表于 03-19 07:45

    新建HARDWARE文件夹

    在工程下新建HARDWARE文件夹文件夹下新建led和key文件夹,分别新建led.c和key.c保存在相应文件夹下。然后新建2个文本
    发表于 08-24 07:35

    RT_Thread Studio进行RT_Thread Setting保存后自己创建的文件夹会消失是何原因

    RT_Thread Studio 进行RT_Thread Setting保存后自己创建的文件夹会消失,在applications创建了mcu_sdk文件夹,但是进行RT_Thread
    发表于 10-25 10:28

    STM32CubeMX 6.6.1为什么无法在文档显示文件/文件夹

    试图在 M1 Macbook Pro 上使用 STM32CubeMX 6.6.1,但当我尝试保存新项目时,我可以导航到“文档”文件夹,但未显示任何文件文件夹。STM32CubeMX
    发表于 12-06 07:17

    如何更新Includes文件夹

    大家好,我一个关于如何更新从 STM32 CubeMX 下载的示例的 Includes 文件夹的问题。目前,我正在使用从 STM32 CubeMX 下载的用于 Nucleo-WL55JC1 板
    发表于 12-06 07:30

    STM32CubeMX系列6版本删除主文件夹存在的所有文件夹,从而删除用户创建的文件夹要如何避免?

    的同时继续查看通知文件夹的内容。卸载一结束,就会观察到文件夹内容与所附图像的内容相似。子文件夹存储库已被删除。
    发表于 01-13 08:32

    如何使用存储库文件夹的示例项目?

    大家好,我正在尝试学习如何使用存储库文件夹的示例项目。例如,我一个 STM32F429i-discovery 板,我想加载一个示例:../STM32Cube/Repository
    发表于 01-13 08:34

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

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