基本概念 Linux后台服务进程 独立于控制终端 周期性的执行某种任务 不受用户登陆和注销的影响 一般采用以d结尾的名字 进程组和会话 进程组: 一个进程包含多个进程 会话: 多个组组成一个会话. 创建会话的进程不能是组长进程; 一般创建会话是父进程先fork子进程, 然后父进程退出, 让子进程调用 ...
分类:
系统相关 时间:
2021-06-15 18:15:07
阅读次数:
0
ltrace 跟踪进程调用库函数 ltrace 能够跟踪进程的库函数调用,它会显现出哪个库函数被调用,而strace则是跟踪进程的每个系统调用。 参数选项 解释说明(带※的为重点) #-c 统计库函数每次调用时间,最后程序退出时打印摘要 #-C 解码低级别名称(内核级)为用户级名称 #-d 打印调试 ...
分类:
其他好文 时间:
2021-06-10 17:49:15
阅读次数:
0
1. 在Linux kernel中,所有进程都不再运行时,即CPU的无所事事,这种状态被称作idle状态,而cpuidle framework,就是为了管理这种状态。 2. 当idle进程被调度到时,则说明系统的其它进程不再运行了,也即CPU idle了。最终,由idle进程调用idle指令(这里为 ...
分类:
系统相关 时间:
2020-12-18 13:17:51
阅读次数:
3
概述 pystack 用于查看 python 的调用栈信息,与 C 语言的 pstack 和 gstack 功能相似。 使用 pystack 4747 # 查看进程 4747 调用栈的信息,不打印线程号 pystack 4747 -v # 查看进程 4747 调用栈的详细信息,打印线程号。如下所示, ...
分类:
编程语言 时间:
2020-12-04 11:40:34
阅读次数:
10
废话不多说开代码 在父进程调用wait() #include<stdio.h> #include<unistd.h> #include<sys/wait.h> int main(int argc,char *argv[]){ int rc=fork(); if(rc==0){ printf("i a ...
分类:
系统相关 时间:
2020-10-19 22:56:22
阅读次数:
29
应用编程接口 常用的API 是 socket和TLI 接口 描述符 socket 的返回值是一个描述符,用描述符调用read () ,write (),可以dup复制,在调用fork后,父进程和子进程都可共享,可以调用FCNT1改变属性,在进程调用时,被内核创建的数据结构 描述符和内核数据结构的关系 ...
分类:
其他好文 时间:
2020-06-27 15:56:42
阅读次数:
67
读文件流程进程调用库函数向内核发起读文件请求;内核通过检查进程的文件描述符定位到虚拟文件系统的已打开文件列表表项;调用该文件可用的系统调用函数read();read()函数通过文件表项链接到目录项模块,根据传入的文件路径,在目录项模块中检索,找到该文件的inode;在inode中,通过文件内容偏移量计算出要读取的页;通过inode找到文件对应的address_space;在address_spac
分类:
系统相关 时间:
2020-06-10 09:33:00
阅读次数:
134
IniHelper ini = new IniHelper(); //读取配置文件 string path = ini.ContentValue("BLDZ", "YYHLDZ"); //调用的程序路径 如C:\bl\app.exe string path1 = ini.ContentValue(" ...
一、介绍 fork函数是系统创建进程函数、而当我们需要子进程去执行另一个程序,这时我们可以使用execl函数将子进程替换成新的进程映像,使子进程调用新的程序。 二、execl的函数 1. 函数原型 int execl(const char *path, const char *arg, ...); ...
分类:
系统相关 时间:
2020-06-07 09:24:44
阅读次数:
182
这几天多个版本出现了多个内存泄漏问题 怎么办???? Q1:进程调用某库函数分配内存不释放, 但是在进程退出时,统一释放内存,valgrind 检查不出来,但是频繁调用库函数会耗尽内存。怎么快速定位那个库函数导致!!!!!除了看源码这种sa办法 Q2:某些设备不支持跑valgrind 怎么办??- ...
分类:
其他好文 时间:
2020-05-29 23:31:25
阅读次数:
198