Linu下查看进程打开的文件与打开文件的进程

音频降采样系数 如果需要把8K, 16K, 32K, 48K采样率的音频数据降为4K的音频数据, 最简单的方法根据降频倍数来取点, 但是线性度不好. 另一种线性度好一点的方法是: 取适当个数的点数, 各点乘以各自点的系数, 然后相加取平均值. 降频倍数与系数的关系如下: 2倍:     {0.3, 0.4, 0.3} 4倍:    {0.15, 0.2, 0.3, 0.2, 0.15} 8倍:   {0 阅读详情

    有许多情况下,我们需要查看一个进程当前打开了哪些文件,反过来我们也希望知道某一个文件正在被哪些进程所读写。在Linux下有许多有用的工具可以帮我们完成这两个工作,下面介绍这两个工具:lsof与fuser。

    fuser find files or sockets' user

    格式:fuser [选项] fname

    -k 如果找到打开文件的进程,则发送SIGKILL杀死此进程,通过-i选项,可以为用户提供交互选择

    -signal 用户可以指定使用何种信号去kill进程,如果-k参数指定,则忽略此参数

    -m 如果指定一个文件,则所有访问那个文件所在文件系统的进程都会被列出来

    -n  type 指定不同的文件类型,默认类型为file,此外还支持tcp和udp类型,此时可以简写作port/tcp

    -u  显示进程属主

    -v  显示详细进程与打开文件信息

    -4/-6 只搜索IPv4/IPv6套接字

    例如,我们想查看端口TCP端口9000由哪个进程打开 fuser -v -u 9000/tcp

             查看哪些进程在访问/home挂载分区              fuser -mv /home

 

    lsof list open file

    格式:lsof  [选项] [names]

    单独执行lsof将输出系统中所有打开的文件,我们可以grep过滤出我们关心的内容,不过lsof提供了相应的参数帮助我们精确查找

    lsof name 将输出所有使用文件name的进程

    -p pid 列出进程pid所打开的所有文件

    -d FD_pattern 列出所有已经打开的FD值为FD_pattern的文件FD的值有整数,TXT,MEM等等

    -a lsof后可以加多个匹配条件,默认为or连接,此参数将多个条件变成and关系

    -i [46] [proto] [@hostname|ip][:service|port] 用来选择占用某个端口的进程

    +d/+D dir 非递归或递归的显示打开dir下文件的进程

    -c string   显示进程的command中包含string的进程所打开的文件

    -u username 显示属于user的进程所打开的文件

    -g gid

     以上这些参数已经足够用了,上面这两个工具都是读取/proc文件系统中的数据进行工作的。网上有提到借助于lsof的查找功能,可以对一个删除的文件进行恢复,前提是占用这个文件的进程当前还没有关闭。通过被删除的文件,找到对应的进程及在进程中的fd-num,然后通过cat /proc/process-num/fd/fd-num即可恢复被删除的文件。

Ubuntu图形界面崩溃?从tty到GUI的终极修复指南 本文提供了Ubuntu图形界面崩溃后进入tty的终极修复指南。详细介绍了如何诊断显示管理器(如LightDM或GDM3)状态,并通过重装、切换显示管理器、修复依赖、系统升级及排查显卡驱动等核心方案,逐步恢复GUI。帮助用户从命令行界面高效修复桌面环境,避免数据丢失。 阅读详情

相关推荐

深入解析AUTOSAR中IIC的MCAL实现与Vector配置实践

本文深入解析AUTOSAR架构中IIC总线的MCAL实现与Vector配置实践,探讨IIC在汽车电子中的特殊定位及Vector的折中方案。通过Channel与Sequence设计模式、Chain特性应用及DaVinci Configurator配置步骤,提供IIC驱动的优化与安全实现方法,助力开发者高效解决车载通信问题。

weixin_29172963的博客 407

Linux查看系统文件打开数

查看linux限制的最大文件打开数,以及系统当前打开的文件数

hjh872505574的专栏 9492

保姆级教程:IAR for STM8 3.11版本安装与破解全流程(附资源包)

本文提供IAR for STM8 3.11版本的详细安装与破解教程,涵盖环境准备、主程序安装、许可配置及实战验证全流程。针对新手常见问题,如许可证报错、驱动安装失败等,给出了具体解决方案,帮助开发者快速搭建稳定的STM8开发环境。

study的专栏 940

Android app 获取本app进程打开占用的文件列表

接上一篇:linux c代码获取当前进程打开了哪些文件 这次直接通过java层读取/proc/pid/fd/ 信息即可,无需jni过度,可以通过/proc/pid/fd 获取到本进程当前正打开的文件 效果: 贴代码: //canok 0924 package com.example.openfdinfo; import android.util.Log; import java.io.File; import java.io.IOException; import java.util.Arra.

Canok 1367

双传声器法测量吸声材料的吸声系数(公式推导与解释)

在双传声器法中,通过测量两个位置的声压 p1和 p2​,可以分离出入射波和反射波的声压分量。双传声器法一般在阻抗管中进行,阻抗管的一端为平面波声源,另一端放置待测材料。两个传声器放置在靠近材料的阻抗管内,用于测量管道内的声压。双传声器法是一种常用于测量材料吸声系数的实验方法,通过在管道内使用两个传声器测量声波的入射和反射,来计算出材料的吸声系数。当测试样品较少时,测试时,需要交换两个传声器的位置,目的是为了相位校准。

m0_57407372的博客 1875

手把手教你用gym训练宇树GO2机器人模型(附完整配置文件)

本文提供了一份详细的实战指南,教你如何使用Gym框架为宇树GO2四足机器人搭建强化学习训练环境。文章深入解析了环境配置、参数调试、奖励函数设置等关键步骤,并分享了避开常见陷阱的经验,旨在帮助开发者高效完成模型训练。

oo7890的博客 322

Linux学习-49-列出进程调用或打开的文件信息(lsof命令)

Linux学习-49-列出进程调用或打开的文件信息(lsof命令)

时光 2189

CSP-J 复试考点

可以用来训练思维,对于学习时间短的同学,动态规划可以帮助你迅速进入编程状态,也有助于帮你发现题目背后可能隐藏的更简便的算法。动态规划、贪心都是和子问题相关的,动态规划的基本思想是将一个大的问题划分成子问题,接着分别求解,而且能够将一些重复的计算记忆化,大大提高效率。难度加大,会涉及到二分、动态规划之类的算法,容易遗漏考虑点,不易得全分,考试的时候要注意全面性。一般是压轴题,算法不明显,剪枝的搜索、动态规划、状压 DP、树形 DP 、树、图等。枚举算法是指,列举出所有可能的取值,从中找出最优解。

GuanHeTian的博客 2214

linux open files

1、问题现象:环境大量报错ndpointServerSocket[addr=/0.0.0.0,port=0,localport=1888] ignored exception:java.net.SocketException: Too many open files 2、跟踪原因:       1)、登陆root用户查看配置open file是,执行命令: ulimit -a 。看到配

Aritem的专栏 2702

Unity坦克物理系统:履带驱动与力场建模实战指南

在游戏物理仿真中,履带车辆的运动建模远超传统轮式控制器的范畴。其核心在于摒弃WheelCollider的滚动幻觉,转向基于牛顿力学的力与力矩协同求解——通过主推进力场、转向力矩场和地面反作用力场三重叠加,实现对质量、摩擦、惯性及坡度阻力的真实响应。这种建模方式不仅支撑坦克爬坡、陷泥、侧倾等复杂行为,更保障了多人同步与高帧率下的物理稳定性。Physics Tank Maker 正是这一思路的工业级落地,它将PhysX底层机制与坦克动力学深度耦合,提供可调参数、事件驱动视觉反馈及标准扩展接口,成为面向严肃模拟类

weixin_29535577的博客 562

强化学习 | Multi Agents | Trust Region | HATRPO | HAPPO

ICLR2022多智能体论文,将trust region推广到MA上,保证单调递增。学习博客,共7k字,纯手敲。含大量手写笔记。

111辄的博客 1万+

linux c代码获取当前进程打开了哪些文件

查看当前进程打开了哪些文件, (同一个线程之间共享进程打开的文件描述符), 如果是在linux终端,可以 lsof -p pid 即可查看对应进程打开的文件,或者查看 proc/pid/fd, 现在想要在代码中获取当前程序打开了哪些文件, 也可以通过 读取 proc/pid/fd进行查看,如下:如果权限允许的话也准备将改demo写成jni给到app中使用,可以方便查看app具体打开占用了哪些文件。 demo结果: 同 ls -lh /proc/pid/fd 效果一样,左边是对应的文件描述符 fd值,右边是指

Canok 1265

三种方法教你下载大模型到本地,总有一种适合你

本文主要介绍了下载大模型到本地的三种解决方案,希望能对同学们有所帮助。 文章目录 1. 场景/问题描述 2. 方案一:使用git 3. 方案二:镜像站 4. 方案三:高速下载工具(变体及自定义代码) 4.1 aria2 4.2 自定义代码

weixin_43178406的博客 17万+

linu 查看某进程打开的文件数

lsof -p PID |wc -l

未来软件 517

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

Linu命令总结

一、基础指令(重点) 1、ls指令 含义:ls (list) 用法1:#ls 含义:列出当前工作目录下的所有文件/文件夹的名称 用法2:#ls 路径 含义:列出指定路径下的所有文件/文件夹的名称 关于路径(重要): 路径可以分为两种:相对路径、绝对路径。 相对路径:相对首先得有一个参照物(一般就是当前的工作路径); 相对路径的写法:在相对路径中通常会用到2个符号“./”【表示当前目录下】、“…/”【上一级目录下】。 绝对路径:绝对路径不需要参照物,直接从根“/”开始寻找对应路径; 用法3:#ls 选项

wqww_1的博客 2406

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

linux进程信息查看工具,Linux之进程查看工具介绍

Linux之进程查看工具介绍在linux系统中,各种计算机资源(如文件、内存、CPU等)的分配和管理都以进程为单位;许多破坏程序和攻击手段都需要通过破坏目标计算机系统的合法进程尤其是重要系统进程,使得系统不能完成正常的工作甚至无法工作,从而达到摧毁目标计算机系统的目的;作为一个Linux运维工程师,管理进程是一个必备的技能。下面我们介绍几个在Linux系统中比较实用而且功能强大的工具:htop/d...

weixin_34790851的博客 724

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

Linu学习总结(三)

Linu学习总结(三)文件时间属性修改与时间处理如果要修改某特定文件的访问时间和修改内容时间,可以调用utime()函数int utime(_const char *_file, _const struct utimbuf *_file_times) struct utimbuf { _time_t actime;//访问时间 _tiem_t modtime;//修改内容时间 } 进

jkhero的博客 429

Linu基本命令

1, shell命令 2,建立文件夹 mkdir zhaogang 建立一个文件夹叫zhaogang 3, ls 查看当前目录内有哪些文件 ls 查看当前目录内有哪些文件 ls -l 以详细信息的方式查看 ls -a 查看所有文件,包括隐藏文件 ls -al 以详细信息的方式查看所有,包括隐藏文件 4,进入某个目录 cd zhaogang 进入zhaogang文件夹内 cd...

weixin_37398285的博客 334

linu 文件管理及重定向

linux基础

weixin_43332972的博客 1033

Linu日志文件

Introduction 使用日志系统所记录的信息可以进行系统排错,优化系统的性能,或者根据这些信息调整系统的行为。收集想要的数据,分析出有价值的信息,可以提高系统、产品的安全性,还可以帮助开发完善代码,优化产品。日志会成为在事故发生后查明 “发生了什么” 的一个很好的“取证”信息来源。日志可以为审计进行审计跟踪。 本节主要介绍一下三个方面 - 常见的日志 - 配置的日志 - 轮替的日志 常见的...

Code is poetry 272

linu常用命令

Linux防火墙操作命令,开放或关闭端口 常用命令: systemctl start firewalld #启动 systemctl stop firewalld #停止 systemctl status firewalld #查看状态 systemctl disable firewalld #开机禁用 systemctl enable firewalld #开机启动 开放或关闭端口: firewall-cmd --zone=public --add-port=80/tcp --permanent #开放8

weixin_47175214的博客 306

【Linux】进程管理和查看

1.什么是进程  进程是正在执行的程序或命令,每一个进程都是一个正在运行的实体,都有自己的地址空间,并占用一定的系统资源。注意,进程跟线程不是一个概念。对于到底什么是进程,其实不用死扣概念,就把它当做正在运行的程序即可。   进程的概念在windows系统中也有,打开任务管理器->进程就可以看到正在运行的进程。   2.进程管理的作用 判断服务器健康状态 查看系统中所有进程 杀死进程 3.进程相

Vincent的专栏 1783

Linu进程间通信(一)

linux进程间通信(一)

shandy1012的博客 107

Linu x相关知识2

Linux相关知识

m0_62272971的博客 282

linu应用边角料3——dup和dup2\文件描述符的复制

1.多次打开同一文件与O_APPEND 1、重复打开同一文件读取 (1)一个进程中两次打开同一个文件,然后分别读取,看结果会怎么样 (2)结果无非2种情况:一种是fd1和fd2分别读,第二种是接续读。经过实验验证,是分别读。 (3)分别读说明:我们使用open两次打开同一个文件时,fd1和fd2所对应的文件指针是不同的2个独立的指针。文件指针是包含在动态文件的文件管理表中的,所以可以看出linux系统的进程中不同fd对应的是不同的独立的文件管理表。 2、重复打开同一文件写入 (1)一个进程中2个打开同一个文

weixin_44705391的博客 539

Linu学习笔记——常用命令

安装多个软件包:sudo apt install 显示软件包具体信息,例如:版本号,安装大小,依赖关系等等:sudo apt show 升级软件包,升级前先删除需要更新软件包:sudo apt full-upgrade。更新指定的软件命令:sudo apt update 删除软件包命令:sudo apt remove :退出插入模式,回到命令模式。

小橙子的博客 938
上一篇: 跟踪程序在Linux下的执行的函数调用
下一篇: Linux错误号(errno)对应错误一览
zzulp
博客等级 码龄19年 464粉丝 176原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值