随笔分类 -  linux下C语言

摘要:前面的进程控制2,介绍了僵尸进程,和解决方式4种中的两种。下面再补充两种。 解决方式: 3:忽略SIGCHLD信号 父进程设置忽略 SIGCHLD信号,子进程结束自动释放进程表资源 忽略SIGCHLD信号: signal(SIGCHLD, SIG_IGN) 4:捕获SIGCHLD信号 父进程捕获SI 阅读全文
posted @ 2018-06-22 23:50 gd_沐辰 阅读(124) 评论(0) 推荐(0) 编辑
摘要:信号处理 信号值小于 SIGRTMIN 的信号 (1~31) 都是不可靠信号 某些unix版本中,调用信号函数处理后会自动恢复默认信号处理,所以在信号处理函数中还需要继续调用signal函数设置信号处理 这个问题在linux中并不存在 linux 信号处理使用 sigaction函数, sigact 阅读全文
posted @ 2018-06-22 23:50 gd_沐辰 阅读(272) 评论(0) 推荐(0) 编辑
摘要:系统时间 #include<time.h> time_t time(time_t &tSec) 获取当前时间,1900年1月1日0时到现在的秒钟数 double difftime(time_t timeEnd, time_t timeStart) 时间差 系统时间 两个互逆的函数 struct tm 阅读全文
posted @ 2018-06-22 23:49 gd_沐辰 阅读(181) 评论(0) 推荐(0) 编辑
摘要:信号 传送给进程的事件通知,完成异步通信 信号的产生 1.程序错误:硬件异常,除数为0,等 2.外部事件:定时器事件,按键中断(ctrl+c)等 3.显示请求:调用 kill, raise 等信号发送函数 信号的处理 #include<signal.h> void (*signal (int sig 阅读全文
posted @ 2018-06-22 23:49 gd_沐辰 阅读(1695) 评论(0) 推荐(0) 编辑
摘要:同步父子进程 wait<sys/wait.h>pid_t wait(int *pState)无子进程则马上返回,有子进程则等待(阻塞)。多个子进程,需要多个调用获取子进程 pid 和 结束状态第一字节: *pState & 0xff 接受到的信号值第二字节: (*pState >> 8) & 0xf 阅读全文
posted @ 2018-06-22 23:47 gd_沐辰 阅读(177) 评论(0) 推荐(0) 编辑
摘要:概念 程序:一个保存在磁盘中的文件,规定运行时要执行的代码和要完成的动作。 进程:把程序加载为内存中一段数据,程序的执行过程,具有产生,发展和消亡的过程 线程:unix的最小调度单位,一个进程可以有多个线程,共享进程ID,共享进程资源。 父子进程 进程采用树形结构管理,一个进程启动另一个进程时,被启 阅读全文
posted @ 2018-06-22 23:42 gd_沐辰 阅读(159) 评论(0) 推荐(0) 编辑
摘要:异或运算:^ --> 两个变量,按照bit位比较,同位置 bit位相等 则结果为 0, 不相等,则结果为1 任意数 x x^x = 0; x^(~x) = 0xffffffff x^0 = x; x^0xffffffff = ~x 或运算:| --> 把两个变量, 按照bit位比较,同位置的bit位 阅读全文
posted @ 2018-06-22 23:40 gd_沐辰 阅读(185) 评论(0) 推荐(0) 编辑
摘要:设备文件 Linux把所有设备都映射成了文件 设备文件一般存储在 /dev 目录下 我们可以像操作文件一样操作他们 ls /dev –l brw-rw 1 root disk 8, 0 Dec 21 20:00 sda crw--w 1 root tty 4, 0 Dec 21 20:00 tty0 阅读全文
posted @ 2018-06-22 23:37 gd_沐辰 阅读(568) 评论(0) 推荐(0) 编辑
摘要:低级文件库 低级文件读写与标准文件读写类似。如fgetc,fputs都是调用read,write。 文件打开/创建#include <fcntl.h> //file controlint open(const char *filename, int flag, [mode_t mode])flag 阅读全文
posted @ 2018-06-22 23:35 gd_沐辰 阅读(388) 评论(0) 推荐(0) 编辑
摘要:标准文件库 查询文件属性<sys/types.h><sys/stat.h>int stat(const char *filename, struct stat *buf)获取文件属性int fstat(int fd, struct stat *buf)功能同stat,但是入参是文件描述符int ls 阅读全文
posted @ 2018-06-22 23:31 gd_沐辰 阅读(126) 评论(0) 推荐(0) 编辑
摘要:makefile编译多个可执行文件1: 多个 C 文件编译成不同的目标文件2: 多个 C 文件编译成 一个目标文件 注意:makefile的文件名的三种形式(优先级排序)makefile>Makefile>GNUMakefile 简单说,makefile类似快捷键。如:创建主函数文件mian.c 函 阅读全文
posted @ 2018-06-22 23:31 gd_沐辰 阅读(169) 评论(0) 推荐(0) 编辑
摘要:gcc编译器(GNU C Compiler) 现在我们所说的 gcc 是 GUN Compiler Collection的缩写,可以支持多种语言编译,比如 C,C++,Java, pascal 等 gcc的主要特征 1: 可移植编译器,支持多种硬件平台 2:支持跨平台交叉编译(跨CPU) 3:多种语 阅读全文
posted @ 2018-06-22 23:30 gd_沐辰 阅读(294) 评论(0) 推荐(0) 编辑
摘要:三种模式命令行模式任何模式下 ESC 进入编辑模式(INSERT)从命令模式下 a, i 等 进入可视化模式(VISUAL)(VISUAL BLOCK)命令模式下,敲 v 进入非编辑模式, ctrl + v cd /etc/vim/root权限编辑 vimrc, 增加一行 set number ? 阅读全文
posted @ 2018-06-22 23:28 gd_沐辰 阅读(144) 评论(0) 推荐(0) 编辑
摘要:查看命令的帮助信息man 命令名 文件操作touch 建立文件 (对于已存在文件,更新时间)cat 查看文件 (-n 自动加上行号)rm 删除文件cp 拷贝文件mv 移动/重命名文件more 分页查看文件 [只支持后翻 --空格]less 分页查看文件[支持前翻后翻查找 – pageup/paged 阅读全文
posted @ 2018-06-22 23:27 gd_沐辰 阅读(238) 评论(0) 推荐(0) 编辑
摘要:drwxrwxr-x第一个字符表示文件类型 d:directory -》目录 r: read 读权限w: write 写权限x: excute 执行权限 rwx rwx r-x文件所有者权限 同组人员权限 其他用户权限 chmod u+x (或者u-x) FILE 给文件所有这增加/减少 某个权限( 阅读全文
posted @ 2018-06-22 23:27 gd_沐辰 阅读(235) 评论(0) 推荐(0) 编辑