草庐IT

proc_pid_cmdline

全部标签

linux - 我如何压缩 proc 文件系统?

我想拍下我的整个proc文件系统的快照,并将其保存在压缩包中(或者在最坏的情况下将所有文本文件连接到一个文本文件中)。但是当我运行时:tar-c/proc我遇到段错误。执行此操作的最佳方法是什么?我应该设置某种递归遍历每个文件吗?我只有基本的*nix实用程序,例如bash、cat、ls、echo等。我没有像python或perl或java这样花哨的东西。 最佳答案 linux/proc文件系统实际上是伪装成文件系统的内核变量。没有什么可以保存,因此没有什么可以备份。如果系统允许,你可以rm-rf/proc它会在下次重新启动时神奇地重

linux - Sleep in a while 循环获取自己的 pid

我有一个bash脚本,它在一个循环中执行一些并行处理。我不希望并行进程占用CPU,所以我使用了sleep命令。这是一个简化版本。(whiletrue;dosleep99999;done)&所以我从bash提示符下执行上面的行并得到如下内容:[1]12345其中[1]是作业编号,12345是while循环的进程ID(pid)。我执行kill12345并得到:[1]+Terminated(whiletrue;dosleep99999;done)看起来整个脚本都被终止了。但是,我执行了psaux|grepsleep并发现sleep命令仍然有效,但有自己的pid!我可以终止sleep并且一切看

linux - 从/proc/kcore获取系统调用表中的系统调用地址

如何从/proc/kcore中检索系统调用地址。我可以从System.map文件中获取系统调用表地址。 最佳答案 如果您使用的是基于x86的机器,您可以使用sidt获取中断描述符表寄存器和中断描述符表本身的指令。有了它,您可以获得system_call的地址。(或ia32等效的x86-64兼容性)由0x80系统调用中断调用的函数。反汇编该中断处理程序并扫描特定的间接调用指令,您可以提取调用指令中的地址。该地址是您的系统调用表(在x86上)或x86-64上的IA32兼容性系统调用表。获取x86-64native系统调用表是类似的:而不

linux - 如何在 Linux 操作系统中获取一个进程组中的 pids

我有一个关于Linuxpid的问题。如何在同一组中获取pid?在Linux中用'ps'命令获取所有的pids或pgid似乎很容易,但是如何获取属于同一组的pids,或者换句话说,如何获取同一个程序的pids呢?有人请给我一些帮助吗?谢谢! 最佳答案 来自manpsToprintaprocesstree:ps-ejHpsaxjfpstree也有帮助更新:使用pidof查找指定程序的进程pids。例如pidofchrome将获取所有chromepids。 关于linux-如何在Linux操作

linux - 在 system() 之后获取子 PID

据我所知,system()调用在内部使用了fork()和exec()但为了更容易封装它们处理。是否可以从system()调用创建的子进程中获取PID?目标:我希望能够在特定超时后对任何子进程发出信号。我可以使用fork()和exec()重建system()函数。但我只需要child的PID,也许使用system()有捷径? 最佳答案 通常,system()是一个同步操作。这意味着在子进程退出之前它不会返回,即当system()时子进程没有有效的PID。返回,因为子进程不再存在。 关于li

php exec/shell_exec/system/popen/proc_open 在 linux 上无限次运行调用脚本本身

我有一个脚本,它使用php-l检查php文件中的语法错误。它在Windows中运行良好,但在Linux中输出不正确:正在检查语法错误的文件exec_ip.php的内容是(它有要检查的语法错误):脚本是:$slash=file_get_contents('exec_ip.php');//echo$slash;$tmpfname=tempnam("tmp","PHPFile");file_put_contents($tmpfname,$slash);exec("php-l".$tmpfname,$error);$errtext='';foreach($erroras$errline)$er

c -/proc/interrupts 如何更新?

我想知道/proc/interrupts是如何更新的?它是否只检测了irq的驱动程序,或者它包含系统中所有可能的irqs的列表? 最佳答案 正如您在内核源代码中所见,它显示了系统所有可能的irq。在source/fs/proc/interrupts.c:39序列操作被初始化为返回与/proc/interrupts系统中存在的中断一样多的元素。在source/kernel/irq/proc.c:479我们可以看到每个中断的计数器都是通过kstat_irqs_cpu(irq,cpu)从全局计数器中提取的。这意味着中断计数信息在不同的计数

linux - Upstart 跟踪错误的 Bluepill PID

我有bluepill设置来监控我的delayed_job进程。使用Ubuntu12.04。我正在使用Ubuntu的upstart启动和监控bluepill服务本身。我的Upstart配置如下(/etc/init/bluepill.conf)。description"Startupthebluepillservice"startonrunlevel[2]stoponrunlevel[016]expectforkexecsudo/home/deploy/.rvm/wrappers//bluepillload/home/deploy/websites//current/config/serv

linux - 跨机器跟踪 pids (ssh)

我基本上是在尝试编写类似pstree的命令,除了它应该遵循跨机器的进程。我的意思是如果我运行这个:$ssh$nodesleep1000然后命令应该显示如下内容:ssh$node--($node)sleep1000如果我在运行:$ssh$nodessh$nodesleep1000ssh$node---($node)ssh$node---($node)sleep1000等等...我的问题是:如何将一台机器上的一个sshsession映射到另一台机器上的衍生进程?本地父子进程不是问题,但我如何找出一个节点上的哪个ssh命令触发了另一个节点上的另一个进程。Linux2.6.18仅openSSH

c - 如何在linux内核中选择 "sys'和 "proc"文件

据我所知,在Linux文件系统中,为了用户空间和内核空间之间的信息通信,使用了两种虚拟文件系统。1)Proc文件系统http://www.tldp.org/LDP/Linux-Filesystem-Hierarchy/html/proc.html2)sysfs文件系统https://en.wikipedia.org/wiki/Sysfs在linux内核代码中,我看到一些子系统使用proc文件来执行这样的用户空间-内核空间通信,而一些系统使用sysfs文件来实现同样的问题。所以我只想知道,如果我要编写新的linux内核模块或驱动程序,那么如何选择虚拟文件?什么时候应该使用sysfs什么时