- 博客(11)
- 收藏
- 关注
原创 守护进程
int daemon(int nochdir, int noclose); //第一参数表示是否保持当前目录,第二个参数表示是否保持当前终端,一般都用0. 自己实现守护进程: 1. fork()后结束父进程 2. 关闭终端相关的3个文件 3. 重新设置当前目录 ...
2019-08-26 21:33:29
179
原创 进程间通信方式
进程间通信Inter-Process Communication,IPC 1)匿名管道 int pipe(int fd[2]); 产生一个管道,两端各自用一个文件描述符表示,其中读端的文件描述符保存在fd[0]中,写端的文件描述符保存在fd[1]中。 只能用于父子进程间通信。在两个进程中只保留个描述...
2019-08-26 21:32:55
292
原创 linux下信号使用
信号singal: 信号是一种软中断,在程序中每个信号用一个整数表示,为了记忆每个信号都有一个宏定义。 SIGKILL 9 进程终止信号 SIGSTOP 进程停止信号 SIGCONT 进程继续执行信号 ...
2019-08-26 21:30:35
240
原创 linux unix 进程相关函数
getgpid(int); //获取当前进程的进程组id setsid(); //自己成立一个进程组 int atexit(void (*function)(void)); //登记程序正常结束时调用的函数(没有参数),如果有多份登记函数,按登记相反的顺序自动执行登记函数。 int on_exit(void (*function)...
2019-08-26 21:27:42
486
原创 linux文件系统的处理函数
文件系统 通用:rename(原路径名,新路径名); 修改文件名 remove(路径名); 删除文件或路径 symlink(原路径名,符号链接名); 建立文件或路径的软链接 access(路径名,权限); 权限:F_OK(是否存在) R_OK W_OK X_OK 的任意组合...
2019-08-26 21:24:05
437
原创 linux下,函数执行错误打印
extern int errno; //头文件<errno.h> char *strerror(int errnum); //errno 转换成对应的错误提示 <string.h> perror(char * str); //打印附加提示信息以及当前错误信息字符串 <stdio.h>...
2019-08-26 21:22:22
515
原创 进程的内存分段使用
每个进程都有自己独立的4G内存。进程访问数据时,使用的是虚拟内存地址,由操作系统将虚拟地址映射到物理地址。 操作系统为每个进程建立一个从虚拟地址到物理地址的一个映射表。操作系统以“页”为单位进行内存的映射,所以映射表也称为页表。 一页的大小可以通过getpagesize()获得。头文件<unistd.h> 一般来说,两个...
2019-08-26 21:21:12
519
原创 Linux下访问环境变量
env/set int main(int argc, char *argv, char *env);env是一个字符串(char *)数组,每个元素是一个环境变量的字符串。 env没有个数,是通过一个值为NULL元素表示结束的。 如果main函数没有env参数,可以使用全局变量environ,他是环境变量的字符串数组,和env一样。但是需要在使用之前...
2019-08-26 21:19:19
313
原创 动态库的加载和执行
void *ldopen(const char* filepath, int flag);打开动态库文件,返回一个指针作为句柄handle,失败返回NULL. flag标志取值RTLD_NOW表示立即加载到内存,RTLD_LAZY表示在使用时加载。 char *lderror(void);取得一个字符串描述动态库出错信息。 vo...
2019-08-26 21:18:06
854
原创 常用工具命令,具体怎么使用可以再百度,本文主要总结
工具命令: nm 显示目标文件中的符号(名字)清单 ldconfig 把动态库放入缓存中。系统启动会自动执行。 ldd 查看一个可执行文件依赖哪些动态库 strip 去掉目标中的冗余信息,一般是调试相关信息。 objdump 显示目标文件(二进制)的附加信息。 wc 用了统计:-l统计行...
2019-08-26 21:17:16
173
原创 ubuntu 下安装mysql 遇到 Could not resolve 'cn.archive.ubuntu.com
参考如下链接:https://www.cnblogs.com/hhzblogs/p/9729498.htmlsudo apt-get install 遇到不可用的网址时:Err:1 http://cn.archive.ubuntu.com/ubuntu bionic InRelease Could not resolve 'cn.archive.ubuntu.com'Err:2 ...
2019-08-21 21:23:38
2684
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人