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

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

3天内不再提示

写一个删除lock文件的skill脚本

ruikundianzi 来源:IC技能搬运工 2023-06-21 14:01 次阅读

Cadence软件使用过程中偶尔会遇到文件被lock的情况,这是Cadence软件对文件的一种保护措施,大部分情况都是对用户友好的,但是偶尔也会给用户带来困扰,给工作带来的一定的不便。

文件是如何被锁的

Cadence在用户打开文件进行编辑的时候会在文件的同一级目录新建一个lock文件,用来标识文件的状态。

一般情况下如果文件被正常关闭,这个lock文件会在文件关闭或者程序退出的时候自动删除。

wKgZomSSkoKAS6DVAADDnef-CXg843.png

可是如果编辑过程中文件被非正常关闭,软件来不及删除对应的lock文件就会导致下一次文件无法以编辑模式打开,需要用户去该文件的所在路径删除遗留的lock文件。

wKgZomSSkoKAcDlKAADWq-Qc4eY968.png

Using the CLS Administrative Tool

Cadence提供了CLS Administrative Tool给用户使用,通过这个工具,用户可以随时查看或者释放lock文件。

使用CLS Administrative Tool管理lock文件比用户直接去某一目录下操作lock文件要安全并且方便很多,通过CLS Administrative Tool可以轻易完成以下几个工作:

解锁指定的文件(删除指定目录下的lock文件)

查看某一目录及其子目录下所有的lock文件

删除某一目录及其子目录下所有的lock文件

删除所有CLS格式的lock文件,无论该文件在何时、何地创建

CLS Administrative Tool还可以实现其它功能,感兴趣的同学可以自行在Cadence Help中搜索与CLS Administrative Tool相关的内容,进行更深入的学习。

CLS Administrative Tool可以运行在交互式界面或者命令行模式,小目同学觉得它运行在命令行模式更加方便,也与脚本实现更加相近,所以这里只简单介绍一下它运行在命令行模式下的内容。

CLS Administrative Tool运行命令

命令 功能描述
clsAdminTool -ale directoryHierarchy 列出该文件夹及其子文件夹下所有lock文件
clsAdminTool -are directoryHierarchy 删除该文件夹及其子文件夹下所有lock文件
clsAdminTool -asre filePath 删除该文件对应的lock文件

上下、左右滑动可以查看更多内容哦!

直接在终端中输入上面命令,可以运行CLS Administrative Tool并输出相应的结果,下面是输出信息

wKgaomSSkoKAXMs0AAFnjfivFZs143.png

使用skill脚本运行命令

有了上面的铺垫应该很容易想到,所谓的删除lock文件的脚本最简单、最安全的方法就是编写一个skill脚本,可以按照需要执行上面的命令。恰好,skill脚本提供sh()函数,可以在skill脚本中执行shell命令。

根据需要小目同学编写了一个skill脚本,其中定义了一个函数和一个快捷键,在需要删除lock文件的时候使用相应的快捷键调用一遍函数运行lock文件删除命令即可。


1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 2;;;startDeleteLockFiles 3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 4 5;;;bindkeys 6 7hiSetBindKeys("Layout" 8list( 9list("D""view_delete_lock_file_cb()") 10) 11) 12 13hiSetBindKeys("Schematics" 14list( 15list("D""view_delete_lock_file_cb()") 16) 17) 18 19procedure(view_delete_lock_file_cb() 20sh(strcat("clsAdminTool-asre"geGetWindowCellView(hiGetCurrentWindow())~>fileName)) 21printf("Deletelockfileforview:%s"geGetWindowCellView(hiGetCurrentWindow())~>cellName) 22);procedure 23 24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 25;;;endDeleteLockFiles 26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

左右滑动可以查看更多内容哦!

很多时候只删除一个文件的lock文件可能还无法满足需求,将脚本完善,分别为单个文件和库定义删除lock文件的函数。


1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 2;;;startDeleteLockFiles 3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 4 5;;;bindkeys 6 7hiSetBindKeys("Layout" 8list( 9list("D""view_delete_lock_file_cb()") 10list("ShiftD""lib_delete_lock_file_cb()") 11) 12) 13 14hiSetBindKeys("Schematics" 15list( 16list("D""view_delete_lock_file_cb()") 17list("ShiftD""lib_delete_lock_file_cb()") 18) 19) 20 21procedure(view_delete_lock_file_cb() 22sh(strcat("clsAdminTool-asre"geGetWindowCellView(hiGetCurrentWindow())~>fileName)) 23printf("Deletelockfileforview:%s"geGetWindowCellView(hiGetCurrentWindow())~>cellName) 24);procedure 25 26procedure(lib_delete_lock_file_cb() 27sh(strcat("clsAdminTool-are"ddGetObjReadPath(geGetWindowCellView(hiGetCurrentWindow())~>lib))) 28printf("Deletelockfileforlibrary:%s"geGetWindowCellView(hiGetCurrentWindow())~>libName) 29);procedure 30 31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 32;;;endDeleteLockFiles 33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;


左右滑动可以查看更多内容哦!

审核编辑:汤梓红

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

    关注

    64

    文章

    916

    浏览量

    141942
  • 文件
    +关注

    关注

    1

    文章

    561

    浏览量

    24711
  • skill
    +关注

    关注

    0

    文章

    7

    浏览量

    11303
  • 脚本
    +关注

    关注

    1

    文章

    387

    浏览量

    14843

原文标题:写一个删除lock文件的skill脚本

文章出处:【微信号:IP与SoC设计,微信公众号:IP与SoC设计】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    shell脚本遍历删除路径下带有指定字符串的文件

    遍历删除文本内路径上文件windows上测试可以安装Gitlinux中,准备删除文件脚本deleteFile.sh,picture.txt
    发表于 06-07 16:26

    文件无法删除不掉了怎么办

    文件无法删除不掉了怎么办 有时候我们在删除某个文件文件夹时,系统提示无法删除,这确定令人十分
    发表于 01-08 09:48 3663次阅读

    skill是什么意思 什么是skill

    skill是什么意思 SKILL种程序语言。是Cadence 开放给使用者可以藉由SKILL 取得Allegro中的数据并做些客制
    发表于 03-22 16:08 5989次阅读

    Linux文件的复制、删除和移动命令

    Linux文件的复制、删除和移动命令 Linux文件的复制、删除和移动命令  cp命令  功能:将给出的文件或目录拷贝到另
    发表于 01-18 12:45 1248次阅读

    如何删除msn共享文件

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

    Linux文件系统的反删除方法

    Linux文件系统的反删除方法 作为多用户、多任务的操作系统,Linux下的文件旦被
    发表于 03-29 10:39 719次阅读

    keil、IAR等程序工程建立批处理文件删除临时文件

    清理程序工程的重要性清楚程序工程中各种文件的作用,将不必要的文件删除,可使整个工程文件占用空间变小,这样程序不仅便于存储,还方便了与队友的交流,节省队友下载程序所需的流量。相比
    发表于 12-03 11:36 18次下载
    keil、IAR等程序工程建立批处理<b class='flag-5'>文件</b><b class='flag-5'>删除</b>临时<b class='flag-5'>文件</b>

    109实用shell脚本分享

    Shell脚本,就是利用Shell的命令解释的功能,对纯文本的文件进行解析,然后执行这些功能,也可以说Shell脚本就是
    的头像 发表于 03-16 08:58 2605次阅读

    【shell脚本】如何快速生成固定大小且内容随机的文件

    【shell脚本】如何快速生成固定大小且内容随机的文件
    的头像 发表于 08-31 13:33 4196次阅读

    自动化重启服务脚本

    脚本可以每分钟执行次,脚本执行时截取上分钟的日志,可以计算总日志行数,和出现502的行数,计算比例,这里我给大家定
    的头像 发表于 11-22 10:12 1216次阅读

    来练习Redis部署的脚本

    继Nginx和MySQL的部署脚本之后,相信只要你跟着写了,那么里面的很多关键精髓你已经知晓,今天就来练习Redis部署的脚本吧。
    的头像 发表于 12-01 09:16 760次阅读

    linux中删除文件的命令

    在Linux中,可以使用 rm 命令来删除文件。该命令有多个参数和选项可供使用,以根据不同的情况进行文件删除操作。例如: rm 命令后面跟上文件
    的头像 发表于 11-08 14:11 839次阅读

    linux删除文件命令rm

    在Linux系统中,可以使用rm命令来删除文件或目录。该命令的功能是删除目录中的
    的头像 发表于 11-13 16:42 892次阅读

    Oracle如何执行sql脚本文件

    如何使用Oracle来执行SQL脚本文件、什么是SQL脚本文件 SQL脚本文件包含了
    的头像 发表于 12-06 10:51 6510次阅读

    ubuntu删除文件怎么恢复

    : Ubuntu文件系统概述 Ubuntu是基于Linux的操作系统,其文件系统与Windows系统有所不同。在Ubuntu中,文件系统
    的头像 发表于 08-30 15:10 1251次阅读