首页
游戏
影视
直播
广播
听书
音乐
图片
更多
看书
微视
主播
统计
友链
留言
关于
论坛
邮件
推荐
我的硬盘
我的搜索
我的记录
我的文件
我的图书
我的笔记
我的书签
我的微博
Search
1
在IC617中进行xa+vcs数模混仿
84 阅读
2
科普:Memory Compiler生成的Register file和SRAM有何区别?
74 阅读
3
virtuoso和empyrean alps模拟仿真和混仿教程
74 阅读
4
后仿中$setup,$hold与$setuphold
45 阅读
5
文档内容搜索哪家强? 15款文件搜索软件横向评测
36 阅读
默认分类
芯片市场
数字电路
芯片后端
模拟电路
芯片验证
原型与样片验证
算法与架构
DFX与量产封装
PC&Server OS设置
移动OS设置
软件方案
新浪备份
有道备份
登录
Search
标签搜索
python
Docker
vscode
linux
systemverilog
vcs
STM32
PyQT
EDA
FPGA
gvim
cadence
Alist
xilinx
UVM
uos
macos
package
MCU
risc-v
bennyhe
累计撰写
378
篇文章
累计收到
31
条评论
首页
栏目
默认分类
芯片市场
数字电路
芯片后端
模拟电路
芯片验证
原型与样片验证
算法与架构
DFX与量产封装
PC&Server OS设置
移动OS设置
软件方案
新浪备份
有道备份
页面
游戏
影视
直播
广播
听书
音乐
图片
看书
微视
主播
统计
友链
留言
关于
论坛
邮件
推荐
我的硬盘
我的搜索
我的记录
我的文件
我的图书
我的笔记
我的书签
我的微博
搜索到
378
篇与
的结果
2025-07-14
Linux下 lsof 命令详解
lsof 是 List Open File 的缩写, 它主要用来获取被进程打开文件的信息,我们都知道,在Linux中,一切皆文件,lsof命令可以查看所有已经打开了的文件,比如: 普通文件,目录,特殊的块文件,管道,socket套接字,设备,Unix域套接字等等,同时,它还可以结合 grep 以及 ps 命令进行更多的高级搜索安装lsof 命令默认是没有安装的,而且它的使用需要有root权限或者赋予普通用于sudo权限lsof 命令有很多可选参数,本文根据我自己的使用经验整理了一些比较常用且重要的用法列出所有打开的文件不带任何参数执行 lsof 命令会输出当前所有活跃进程打开的所有文件[root@ecs-centos-7 ~]# lsof | more COMMAND PID TID USER FD TYPE DEVICE SIZE/OFF NODE NAME systemd 1 root cwd DIR 253,1 4096 2 / systemd 1 root rtd DIR 253,1 4096 2 / systemd 1 root txt REG 253,1 1624520 530313 /usr/lib/systemd/systemd systemd 1 root mem REG 253,1 20064 528340 /usr/lib64/libuuid.so.1.3.0 systemd 1 root mem REG 253,1 265600 532853 /usr/lib64/libblkid.so.1.1.0 systemd 1 root mem REG 253,1 90248 525942 /usr/lib64/libz.so.1.2.7 systemd 1 root mem REG 253,1 157424 525955 /usr/lib64/liblzma.so.5.2.2 systemd 1 root mem REG 253,1 23968 526159 /usr/lib64/libcap-ng.so.0.0.0 systemd 1 root mem REG 253,1 19896 526135 /usr/lib64/libattr.so.1.1.0 systemd 1 root mem REG 253,1 19288 525996 /usr/lib64/libdl-2.17.so systemd 1 root mem REG 253,1 402384 525931 /usr/lib64/libpcre.so.1.2.0由于lsof命令会输出很多信息,所以上面例子中使用了 lsof | more 来分页显示命令输出结果输出结果中,第一列中 systemd 的进程ID是 1,它是一个守护进程其中列 COMMAND 、PID、USER 分别表示进程名、进程ID、所属用户列 FD 是文件描述符,下面是可能的类型以及说明FD 说明cwd 当前目录txt txt文件rtd root目录mem 内存映射文件列 TYPE 是文件类型,下面是可能的值以及说明TYPE 说明DIR 目录REG 普通文件CHR 字符a_inode Inode文件FIFO 管道或者socket文件netlink 网络unknown 未知列 DEVICE 表示设备ID列 SIZE/OFF 表示进程大小列 NODE 表示文件的Inode号列NAME 表示路径或者链接列出指定用户已打开的文件使用 -u 选项可以列出指定用户已经打开的文件,该选项后面可以接多个用户名,每个用户名之间用空格隔开,表示列出所有指定用户已打开的所有文件[root@ecs-centos-7 ~]# lsof -u tt | more COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME bash 27789 tt cwd DIR 253,1 4096 131090 /home/tt bash 27789 tt rtd DIR 253,1 4096 2 / bash 27789 tt txt REG 253,1 964600 525779 /usr/bin/bash vim 27813 tt txt REG 253,1 2337192 531847 /usr/bin/vim vim 27813 tt 4u REG 253,1 12288 131167 /home/tt/.p.txt.swp上面的例子中,lsof -u tt 命令表示列出 tt 用户已经打开了的文件,从结果可以看出,用户打开了 /home/tt、/、/usr/bin/bash、/usr/bin/vim、/home/tt/.p.txt.swp 这几个文件如果要排除指定用户已经打开的文件,可以在用户名前加 ^ 符号,下面的命令会列出除tt用户外其他所有用户已打开了的文件lsof -u ^tt | more 找出打开着但已被删除了的文件有这样一种场景,有一个服务正在往日志文件中写日志,这个时候,不小心把正在写入的日志文件删除了上面的场景中,日志文件虽然被删除了,但是文件仍然是打开着的,它仍然占用文件系统的空间,我们可以结合 grep 命令找出这种打开着,但是已经被删除的文件[root@ecs-centos-7 ~]# lsof -u tt | grep deletedvim 27813 tt 4u REG 253,1 12288 131167 /home/tt/.p.txt.swp(deleted)上面例子中使用 lsof -u tt | grep deleted 命令查看用户 tt打开着的确被删除的文件从结果可以看出,在往 p.txt写入内容的时候,文件被删除了列出所有打开了的网络文件[root@ecs-centos-7 ~]# lsof -i COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME ntpd 567 ntp 18u IPv4 12657 0t0 UDP localhost:ntp ntpd 567 ntp 22u IPv6 16095 0t0 UDP ecs-centos-7.4-64bit-20200212:ntp dhclient 651 root 6u IPv4 14594 0t0 UDP *:bootpc master 960 root 13u IPv4 15791 0t0 TCP localhost:smtp (LISTEN) master 960 root 14u IPv6 15792 0t0 TCP localhost:smtp (LISTEN) mysqld 1053 mysql 13u IPv6 15147 0t0 TCP *:mysql (LISTEN) sshd 1348 root 3u IPv4 16698 0t0 TCP *:ssh (LISTEN)列出所有 IPV4/6 网络文件列出所有已经打开了的 ipv4 网络文件[root@ecs-centos-7 ~]# lsof -i 4 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME ntpd 567 ntp 16u IPv4 12651 0t0 UDP *:ntp ntpd 567 ntp 18u IPv4 12657 0t0 UDP localhost:ntp ntpd 567 ntp 21u IPv4 16094 0t0 UDP ecs-centos-7.4-64bit-20200212:ntp dhclient 651 root 6u IPv4 14594 0t0 UDP *:bootpc master 960 root 13u IPv4 15791 0t0 TCP localhost:smtp (LISTEN) sshd 1348 root 3u IPv4 16698 0t0 TCP *:ssh (LISTEN)所有已经打开了的 ipv6 网络文件[root@ecs-centos-7 ~]# lsof -i 6 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME ntpd 567 ntp 17u IPv6 12652 0t0 UDP *:ntp ntpd 567 ntp 19u IPv6 12658 0t0 UDP localhost:ntp ntpd 567 ntp 22u IPv6 16095 0t0 UDP ecs-centos-7.4-64bit-20200212:ntp master 960 root 14u IPv6 15792 0t0 TCP localhost:smtp (LISTEN) mysqld 1053 mysql 13u IPv6 15147 0t0 TCP *:mysql (LISTEN) sshd 1348 root 4u IPv6 16700 0t0 TCP *:ssh (LISTEN)列出在指定端口上打开的文件使用 lsof -i:端口号 可以获得所有在指定端口号上打开的文件lsof -i:22上面例子列出了所有在22号端口上打开的文件在服务器开发中,经常会部署一个网关或者代理程序,用来和客户端通讯,网关或者代理程序需要开放一个固定的端口供客户端连接用如果客户端连接不上网关或者代理程序,我们可以用上述命令检查网关或代理程序的端口是否开启,来排除因为端口关闭了导致连接不上网关的情况列出使用了指定协议(TCP/UDP) 的文件使用 lsof -i TCP/UDP 列出使用了TCP 或 UDP 协议的文件 lsof -i TCP | more使用 lsof -i TCP:3306 列出使用了TCP 协议并且端口为3306的文件 使用 lsof -i TCP:1-1024 列出使用了TCP协议并且端口范围为 1 到 1024 的文件列出目录中所有打开的文件可以使用lsof命令列出指定目录中的所有打开文件现有一个data目录 ,结构如下:tree data/列出 data 目录中打开的文件[root@ecs-centos-7 tt]# lsof +D ./data/lsof +d ./data/上面例子中,+D 和 +d 选项都是列出目录中打开的文件+D 选项会列出一个目录和其子目录中打开的文件,而 +d 选项只会列出当前目录下已打开的文件列出指定进程ID打开的文件进程ID是操作系统进程的唯一标识,以下命令列出了进程ID为 1053 相关的文件, 从结果中可以知道这个进程ID对应的进程是MySQL lsof -p 1053上述命令中,-p 选项后面可以指定多个进程ID,每个进程ID之间用逗号分隔,如果想排除掉某个进程打开的文件,可以在该进程ID前面加上 ^符号lsof -p 1,2,3,^4上述命令会列出进程1,进程2,进程3打开的所有文件,同时忽略进程4打开的文件杀死指定用户的所有进程前面介绍了列出指定用户所有打开的文件,我们可以组合 kill 命令一起使用,实现杀死指定用户的所有进程的功能,具体的命令如下kill -9 lsof -t -u tt上述命令中,lsof -u tt 是列出tt用户所有打开的文件,加上 -t 选项之后表示结果只列出PID列,也就是进程ID列,其他列都忽略,前面的 kill -9 表示强制结束指定的进程ID小结本文介绍了 lsof 命令的一些常见用法,它还有很多其他的用法,请自行查看man文档https://www.cnblogs.com/wanng/p/lsof-cmd.html
2025年07月14日
0 阅读
0 评论
0 点赞
2025-07-11
Docker与虚拟机的区别和对比
从自己的博客园保存 2020-02-03 17:59 Docker与虚拟机的区别和对比由于Docker相比于虚拟机,在诸多方面有着的明显的优势,所以仅仅数年时间,就完成了从诞生,到兴起,再到主流的蜕变,这无疑也是对其在软件开发中卓越贡献的肯定。以下为二者区别的概述:操作系统方面与虚拟机不同,Docker不需要在宿主机的系统之上再运行新的系统,虚拟机会根据需要加载不同的系统,这些功能完备的系统大小往往高达数个GB,而Docker则是微型的Linux系统,其没有硬件的虚拟化资源,大小仅为百兆,在运行时与宿主机共享OS,因此启动速度达到秒级,而虚拟机则为分钟级。储存大小方面Docker容器的镜像很小,非常方便存储和传输,运维工程师可以分分中完成下载和运行,而对于虚拟机来说,它的镜像,如vmdk、vdi等,就显得十分庞大,往往在10G以上,传输和存储十分不便。运行性能方面无论是在服务器和本地PC上运行,Docker几乎没有性能的损失,不浪费原本就很珍贵的资源,所以即使是“小霸王”,也能跑的起来。而虚拟机则需要消耗大量的、额外的CPU和内存资源,在打开idea的情况下,再跑一到两个Linux,一般的机器肯定是可以体验到如集成显卡打单机一般的酸爽了。移植性方面Docker容器轻便、灵活、适应于Linux,而虚拟机相对笨重,与虚拟化技术的耦合度非常高,因此移植性相对较差。部署速度Docker的部署往往在按下回车的谈笑之间,而虚拟机的部署则需要再加上一支烟。功能方向方面Docker致力于给软件开发者带来便捷,可以很大程度上促进DevOops模式的发展。而相对笨重的虚拟机则专注于为硬件运维者提供服务。(在这个软件爆发的时代,硬件的发展很大程度上被忽略,软件有高工资,有大量的新晋人才,一个大牛带着个位数人员团队干个几个月就可以拿到投资,闪亮登场。而硬件技术发展相对需要付出巨大的成本,难见成效,因而关注较少,往往只有大佬级公司才会有资金和精力去研究硬件。而硬件,才是信息时代的根基啊。)————————————————版权声明:本文为CSDN博主「达希希」的原创文章,遵循 CC 4.0 BY 版权协议,转载请附上原文出处链接及本声明。原文链接:https://blog.csdn.net/weixin_43838898/article/details/100058671
2025年07月11日
1 阅读
0 评论
0 点赞
2025-07-11
Verilog中阻塞(=)与非阻塞语句(<=)
从自己的博客园保存 2020-02-03 17:54阻塞赋值语句(=)与非阻塞赋值语句(<=)区别叙述如下: 1、在串行语句中,阻塞赋值语句按照排列顺序依次执行;非阻塞赋值语句没有先后之分,并行执行,排在前面语句不影响后面语句(实质是通过每级之间加一个D触发器实现)。 2、赋值语句执行时,阻塞的先计算右端表达式的值,然后立刻将值赋给左边变量;非阻塞的也是先计算右端表达式的值,但是要等待延时后再将值赋给左边(同样因为D触发器)。文字叙述起来不直观,我们看例子。例:下面代码实现一个寄存器module resist(din,clk,out1,out2,out3); input din,clk; output out1,out2,out3; reg out1,out2,out3; always@(posedge clk) //上升沿触发 begin out1=din; // 使用阻塞赋值语句 out2=out1; out3=out2; end endmodule测试代码如下:module resist_tb; reg din,clk; wire out1,out2,out3; resist U1(din,clk,out1,out2,out3); always #100 clk=~clk; //时钟周期为200 initial begin clk=0; // clk开始为0 din=1; #350 din=0; // 传递的数据 #400 din=1; #400 din=0; #2000 $finish; end endmodule仿真wave图像: 我们从wave图形上看到out1、out2、out3是完全相同的。所以实际电路是:明显电路为一寄存器,不过可以同时输出到out1、out2、out3。而如若将模型中阻塞赋值语句改为非阻塞赋值语句:out1=din; out1<=din; out2=out1; ----> out2<=out1;out3=out2; out3<=out2;测试代码不变,仿真后wave图形为: 我们发现out3落后out2一个时钟周期,out2落后out1一个时钟周期;这正是因为非阻塞赋值语句要等待时钟的效果。具体是在一个上升沿到来时,数据din,out1',out2'('表示上个时钟时的数据),数据平行(并行)向右移动,out2得到的并不是当前out1,而是上个时钟D触发器存储out1'(=d'),当前out1=d,这样out2要得到din就比out1落后一个时钟周期,同样out3与out2相比,这其中就是由于各个D触发器的作用。 实际电路即为: 这两个实质差别就在于非阻塞会引入D触发器,各个数据必须按时钟节拍从左向右传递,而阻塞赋值语句代码从左往右顺序写不会引入多级D触发器。————————————————版权声明:本文为CSDN博主「ChunyuY19」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。原文链接:https://blog.csdn.net/c_ycy/article/details/53883794
2025年07月11日
1 阅读
0 评论
0 点赞
2025-07-11
Foxit Reader去广告方法 (2011-04-06 11:23:12)
来自自己的新闻博客:(2011-04-06 11:23:12)方法一:展开HKEY_CURRENT_USER--Software--Foxit Software--福昕阅读器--MainFrame 在右侧找到ShowAd 双击ShowAd 将值由1为0就OK了 非常简单方法二:Foxit Reader 主界面上,菜单栏右侧有Foxit公司其他产品的广告条,如下图:http://img.xbeta.info/foxit-ad1.pngReader去广告方法" />清除办法:(致谢:Fish、coondia)通过图形界面的方法:打开任意文件→工具栏上点右键→去掉“广告(advertisement)”前的勾。修改配置文件的方法:配置文件FoxitReader_Preferences.ini 中:LaunchWarn=0 ;关闭广告LaunchWarn=1 ;打开广告Foxit会提示是否安装Ask工具条。如果不需要,下列方法均可避免。按推荐程度,依次列举如下:自定义安装(推荐)大多数软件,在自定义安装模式下,都会更加透明,非常容易看清有哪些模块。这样,也能加深用户对软件的理解。另外,是否要安装某些部件,yes or no,一目了然,不容易玩躲猫猫的文字游戏。所以,对任何软件安装,都推荐此方式。Foxit Reader自定义安装时,不会有广告条。替换exe升级(推荐)如果你已经安装了旧版Foxit Reader,则建议下载官方的 zip包 ,把 Foxit Reader.exe 解压出来,覆盖旧版。优点:所有扩展、语言包、设定,都得以保存。避免安装过程的捆绑程序。msi格式安装包(未来趋势)有网友称,采用此安装包格式,不会安装广告。默认安装方式:考验你的注意力对exe格式的安装包,如果用「默认安装」方式,会提醒安装附加工具条。但取消的办法不仅要“不选取”,还需要有看清文字,来一个非常规做法:点击“decline”。http://img.xbeta.info/foxit-toolbar.pngReader去广告方法" />摘自互联网
2025年07月11日
0 阅读
0 评论
0 点赞
2025-07-11
win7 录制系统内部声音(2012-07-15 09:44)
来自自己的新浪博客:2012-07-15 09:44在使用XP系统的时候,我们可以通过双击系统托盘的小喇叭图标,运行音量控制程序,点击“选项→属性”命令,在弹出的属性窗口选择“录音”,然后在“显示下列音量控制”的列表中把“混合输出”(StereoMix)选项勾选(或Record What you hear录制你听见的声音或Waveout mix波形混合输出),再通过XP自带的“录音机”程序或第三方软件就可以轻松录制电脑回放的声音。但在win7中,这个StereoMix选项消失了。打开“控制面板”,如下图:http://bbs.pcbeta.com/data/attachment/forum/month_1009/10091823361cd1a0b941a593cc.jpg.thumb.jpghttp://bbs.pcbeta.com/data/attachment/forum/month_1009/100918231266853b2de8c64935.jpg.thumb.jpg如果你看到以上界面,恭喜了,你是无法直接录制电脑回放的声音的。解决办法:在空白处点击右键,如图显示:http://bbs.pcbeta.com/data/attachment/forum/month_1009/1009182317df8d74f29954deaa.jpg.thumb.jpg勾选“显示禁用的设备”选项,如图:http://bbs.pcbeta.com/data/attachment/forum/month_1009/1009182318704fd98c6ee05ddc.jpg.thumb.jpg右键点击“立体声混音”(Stereo Mix),勾选“启用”,如图:http://bbs.pcbeta.com/data/attachment/forum/month_1009/10091823226c93cd9c2388d67f.jpg.thumb.jpg把“立体声混音”(Stereo Mix)选项设定为“默认设备”,如图:http://bbs.pcbeta.com/data/attachment/forum/month_1009/10091823232ca6aee042e4f40f.jpg.thumb.jpg现在可用用win7自带的“录音机”程序或第三方软件录制电脑回放的声音了。如果经过以上操作仍然无法启用Stereo Mix,可能是驱动程式的问题,建议更新声卡的驱动程式或到官网上下载最新的驱动程式。注意:在录音前应先调试控制录制音量大小,操作如下:选取Stereo Mix,点击“属性”,如图:http://bbs.pcbeta.com/data/attachment/forum/month_1009/10091823490bf9f93e502717e9.jpg.thumb.jpghttp://bbs.pcbeta.com/data/attachment/forum/month_1009/10091823508bbc3e07523db91d.jpg.thumb.jpg点击“级别”选项,调节音量大小,如图:http://bbs.pcbeta.com/data/attachment/forum/month_1009/10091823516a2c81780ded0614.jpg.thumb.jpg我的经验是:Stereo Mix音量控制在15-30之间,“扬声器”音量在70-90之间,这样录制的效果比较好,Stereo Mix音量不宜调节太高,过高会令录制出来的声音有爆音,如果声卡质量一般,可能还有许多杂音。
2025年07月11日
0 阅读
0 评论
0 点赞
1
...
57
58
59
...
76