#LinuxC

LinuxC线程pthread线程同步进程同步-互斥量、信号量、条件变量、读写锁、文件锁

1.同步概念  同步:即按时间先后顺序执行。也叫时间控制流。  同步机制:多个控制流访问同一个共享资源时,为了保证数据不混乱而引入的一种协调机制。2.线程同步  互斥量:也叫建议锁。因为线程不加锁也可以访问数据但容易出现混乱,建议加锁。#include<pthread.h>    pthread_mutex...

linuxC线程pthread的相关理解

1.线程概念  Linux里的线程,也叫轻量级进程(lightweightprocess),本质上是进程。  Linux早期是没有线程的,后来的线程是借助进程实现的。线程、进程的核心都是调用系统的clone方法实现。  线程和进程的区别:(说明:PCB即进程控制块)    进程拥有PCB,用于独立的地址空间。是操作系统...

LinuxC进程组、会话、守护进程

1.进程组  定义:进程的集合,进程组ID等于组长进程ID。类似于QQ群号等于群主QQ号。  生命周期:进程组里的最后一个进程离开的时候,进程组生命周期结束,也就是说只要有进程,该进程组就存在。  作用:简化对多个进程的管理。  函数:getpgrp()、getpgid()、setpgid()  进程组组长:创建这个进...
代码星球 ·2021-02-22

LinuxC信号-进程间通信方式之一

1.信号特性:  简单但不可靠,不能携带大量信息,特定条件才触发。  包括软件中断和硬件中断。    软件中断如:调用abort、raise,alarm,setitimer等函数触发的中断    硬件中断如:除0导致的SIGFPE(浮点数例外),非法访问内容导致的SIGSEGV(段错误),非法内容对齐等导致的总线错误(...

LinuxC使用gdb调试常用方法

注意:编译生成可执行文件时之前必须加参数-g,比如:gcchello.c-ohello-g...

linuxC进程间通信的几种方式

1.管道,pipe()函数  实现最简单,实际为内核缓冲区的环形队列。  用于父子、兄弟等有血缘关系的进程间通信。  单向流动性,只能从管道读端读取,写端写入。  intfds[2];  pipe(fds);//传出参数,fd[0]为读端描述符,类似于stdin;fd[1]为写端描述符,类似于stdout  2.命名管...

LinuxC创建回收进程fork、exec、wait、waitpid函数的理解

1.fork   intpid=fork();  if(pid==-1){//返回-1,说明fork失败    perror("fork");    exit(1);  }elseif(pid>0){//返回子进程pid,说明是父进程  }elseif(pid==0){//返回0,说明是子进程  }  fork出...

linuxC常用字符串操作函数

strlen  --返回字符串长度,比如char*p="hello";strlen(p)返回长度5strcmp  --字符串比较函数,大于等于小于,分别返回1,0,-1strncmp  --字符串比较函数,多个参数n,表示最多比较多个字符strcasecmp  --忽略大小写比较函数strstr  --字符串截取函数,...

linuxC可以使用man查看方法说明,但是没有查看结构体的方法,可以使用ctags查看

第一安装ctags软件1.安装ctags  wgethttp://prdownloads.sourceforge.net/ctags/ctags-5.8.tar.gz2.解压安装  tar-zxvfctags-5.8.tar.gz  cdctags-5.83.安装  执行配置./configure--prefix=/u...

linuxC文件以及目录操作函数

opendir--打开目录,返回DIR*指针,man3opendir查看介绍,下面查看方法类似readdir  --读取目录,返回structdirent*结构体指针(direntry)closedir  --关闭目录DIR*getcwd  --获取当前工作目录下面是文件有关的函数:stat  --获取文件属性,返回s...

linuxC编译参数CPPFLAGS、CFLAGS、LDFLAGS参数的理解

CPPFLAGS:预处理器需要的选项如:-I(大写i指定头文件路径)CFLAGS:编译的时候使用的参数–Wall–g-cLDFLAGS:链接库使用的选项–L-l(大写L指定动态库的路径,小写L指定动态库的名称) ...

linuxCentOs6前期简单且必要的设置

1、修改主机名Sudovi/etc/sysconfig/network(需要重启)Hostnamemaster(不需要重启,设置当前主机名为master)Hostname查看当前主机名2、关闭防火墙Sudovi/etc/sysconfig/selinux修改SELinux=disable(需要重启生效)sudoserv...

Linuxc:创建与监控多个子进程

#include<unistd.h>#include<sys/types.h>#include<stdlib.h>#include<signal.h>#include<stdio.h>//子进程个数#defineSUB_PRO_COUNT10//处理子进程的退...

LinuxC语言读取文件,分割字符串,存入链表,放入另一个文件

//file_op.c#include<string.h>#include<stdio.h>#include<stdlib.h>structinfo{intid;charname[10];charsex[10];charcol[10];charsub[15];charmarks[20...

one_day_one_linuxCmd---crontab 命令

  《坚持每天学习一个linux命令,今天我们来学习tar命令》摘要:crond是linux下用来周期性的执行某种任务或等待处理事件的一个守护进程,周期执行的任务一般由cron这个守护进程来处理,可通过命令ps-ef|grepcron命令来查看后台是否有相关进程。cron的配置文件称为“crontab”,是cronta...
首页上一页12下一页尾页