
嵌入式Linux-并发程序设计
文章平均质量分 59
位面元哥
三十功名尘与土 ,八千里路云和月
展开
-
nohup运行程序竟然会使CPU飙到200%
果然有个while 循环中有度操作,在前面加上sleep就解决了。原创 2023-04-26 22:22:41 · 692 阅读 · 1 评论 -
嵌入式Linux并发程序设计,进程间通信方式,信号,信号相关函数,信号发送kill()/raise(),创建定时器alarm(),让进程进入等待态pause(),设置信号响应方式signal()
文章目录1,信号发送kill()/raise()2,创建一个定时器(,创建一个闹钟) alarm()3,让进程进入等待态,进入睡眠pause()4,示例 alarm()、pause()5,设置信号响应方式*signal()6,示例signal()1,信号发送kill()/raise()#include <unistd.h>#include <signal.h>...原创 2018-11-12 19:33:25 · 393 阅读 · 0 评论 -
嵌入式Linux并发程序设计,进程间通信方式,信号,信号机制,查看信号kill -l,常用信号,发信号命令kill [-signal] pid、killall [-u user | prog]
文章目录1,信号机制2,kill -l查看当前系统中所有的信号类型(前31种信号被成为不可靠信号)3,常用信号4,信号相关命令---向一个进程或一个进程组发命令kill [-signal] pid、killall [-u user | prog]1,信号机制信号是在软件层次上对中断机制的一种模拟,是一种异步通信方式 (一个进程在任何条件下,都可以随时的接收信号,不需要其他的处理)Li...原创 2018-11-12 16:16:52 · 257 阅读 · 0 评论 -
嵌入式Linux并发程序设计,进程间通信方式,有名管道,有名管道特点,有名管道创建mkfifo()
文章目录1,有名管道的特点2,有名管道的创建mkfifo()3,有名管道读写---示例1,有名管道的特点对应管道文件,可用于任意进程之间进行通信:有名管道创建好之后,在系统中有实际的文件和有名管道对应,任意两个进程可以通过路径和文件名指定同一个有名管道进行通信打开管道时可指定读写方式:有名管道用open()打开的时候可以指定不同的读写方式,从而可以确定读端和写端通过文件IO操作,内容...原创 2018-11-12 13:15:39 · 838 阅读 · 0 评论 -
嵌入式Linux并发程序设计,线程,线程间通信--互斥,临界资源/临界区/互斥机制/互斥锁,pthread_mutex_init()/pthread_mutex_lock/unlock()
文章目录1,临界资源2,互斥锁的初始化pthread_mutex_init()3,申请锁pthread_mutex_lock()4,释放锁pthread_mutex_unlock()5,线程互斥---示例1,临界资源临界资源· 一次只允许一个任务(进程、线程)访问的共享资源临界区·访问临界资源的代码·访问非临界资源的代码叫非临界区互斥机制·临界区互斥:当一个任务在访问临界区的...原创 2018-11-08 19:42:12 · 1402 阅读 · 0 评论 -
嵌入式Linux并发程序设计,线程,线程间通信--同步,线号量,信号量初始化sem_init(),P/V操作sem_wait()/sem_post()
文章目录1,线程间通信2,线程通信--同步3,信号量(灯)4,Posix信号量5,信号量初始化sem_init()6,信号量--P/V操作sem_wait()/sem_post()1,线程间通信线程共享同一进程的地址空间优点:线程间通信很容易通过全局变量交换数据缺点:多个线程访问共享数据时需要同步或互斥机制2,线程通信–同步同步(synchronization)指的是多个...原创 2018-11-08 13:34:01 · 1021 阅读 · 0 评论 -
嵌入式Linux并发程序设计,进程间通信方式,System V IPC,信号灯集,创建/打开semget(),初始化semctl(),P/V操作semop(),sembuf结构体定义
文章目录1,System V IPC - 信号灯2,System V IPC - 信号灯特点3,System V信号灯使用步骤3.1,信号灯创建/打开 semget()3.2,信号灯初始化 semctl()3.2.1,信号灯初始化---示例3.3,信号灯P/V操作 semop()3.3.1,信号灯操作 sembuf结构体定义4,信号灯集/共享内存---示例1,System V IPC...原创 2018-11-13 19:10:30 · 822 阅读 · 0 评论 -
嵌入式Linux并发程序设计,线程,线程概念、特点、共享/私有资源,创建线程pthread_create()/回收线程pthread_join()/结束线程pthread_exit()
文章目录1,线程概念2,线程特点3,线程共享资源--私有资源4,Linux线程库--pthread线程库中提供了如下基本操作a,创建线程pthread_create()b,回收线程pthread_join()c,结束线程pthread_exit()5,线程示例1,线程概念 进程 线程 ·进程有独立的地址空间 ·Li...原创 2018-11-07 15:42:02 · 638 阅读 · 0 评论 -
嵌入式Linux并发程序设计,进程间通信方式,System V IPC,消息队列,打开/创建msgget(), 发送消息msgsnd(),格式,接收消息msgrcv(),控制消息队列 msgctl()
文章目录1,消息队列2,消息队列结构3,消息队列使用步骤3.1,打开/创建消息队列 msgget()3.1.1,打开/创建消息队列---示例msgget()3.2,向消息队列发送消息 msgsnd()3.2.1,消息格式3.2.2,消息发送---示例3.3,从消息队列接收消息 msgrcv()3.3.1,消息接收---示例3.4,控制消息队列 msgctl()4,消息队列---示例...原创 2018-11-13 01:44:24 · 559 阅读 · 3 评论 -
嵌入式Linux并发程序设计,进程间通信方式,System V IPC对象,ftok(),共享内存使用步骤,创建shmget(),映射shmat(),撤销映射shmdt(),控制shmctl(),注意
文章目录1,System V IPC2,使用IPC对象的大致流程3,生成KEY值ftok()ftok示例4,共享内存4.1,共享内存使用步骤4.2,共享内存创建shmget()4.3,共享内存创建shmget()示例1,System V IPCIPC 对象包含: 共享内存、消息队列和信号灯集每个IPC对象有唯一的ID(IPC对象创建的时候由系统分配的一个数字,只有创建IPC对象的进程可...原创 2018-11-12 22:26:50 · 307 阅读 · 0 评论 -
嵌入式Linux并发程序设计,进程,会话、控制终端,守护进程创建骤,fork()/exit(),setsid(),chdir(),umask(),close(),转化系统时间为本地时间ctime()
文章目录1,守护进程2,守护进程的特点3,会话、控制终端4,守护进程创建,五个步骤a,创建子进程,父进程退出fork(),exit()b,子进程创建新会话setsid()c,更改当前工作目录chdir()d,重设文件权限掩码umask()e,关闭打开的文件描述符close()守护进程示例1,守护进程守护进程(Daemon)是Linux三种进程类型(交互进程、批处理进程、守护进程)之一通...原创 2018-11-07 11:59:58 · 355 阅读 · 0 评论 -
嵌入式Linux并发程序设计,进程,进程回收wait()/waitpid(),系统宏定义中status的含义
文章目录1,进程回收wait()进程回收wait()示例2,进程返回值和结束方式系统宏定义中status的含义3,进程回收waitpid()进程回收waitpid()示例1,进程回收wait()#include &lt;unistd.h&gt;pid_t wait(int *status);成功时返回回收的子进程的进程号;失败时返回EOF若子进程没有结束,父进程一直阻塞若有多个...原创 2018-11-07 01:40:05 · 470 阅读 · 0 评论 -
嵌入式Linux并发程序设计,进程间通信方式(七种),无名管道,无名管道特点,无名管道创建pipe(),获取管道大小,管道断裂
文章目录1,Linux下的进程间通信机制2,无名管道无名管道特点创建无名管道pipe()无名管道通信无名管道示例1,Linux下的进程间通信机制 Linux下的进程间通信机制 应用 早期UNIX进程间通信方式(很多是从Unix继承的) 无名管道(pipe) 本地通信,用于一台计算机内部不同进程之间的通信 有名...原创 2018-11-10 15:55:28 · 1842 阅读 · 0 评论 -
嵌入式Linux并发程序设计,进程,exec函数族,进程调用指定程序,execl()/execlp(),execv()/execvp(),system()
文章目录1,exec函数族2,进程调用指定程序execl()/execlp()execl()/execlp()示例3,进程调用指定程序execv()/execvp()execv()/execvp()示例4,进程调用指定程序system()1,exec函数族进程调用exec函数族执行某个程序进程当前内容被指定的程序替换实现让父子进程执行不同的程序·父进程创建子进程·子进程调用exe...原创 2018-11-06 21:22:44 · 894 阅读 · 0 评论 -
嵌入式Linux并发程序设计,进程,进程创建fork(),进程号查询getpid(),进程结束exit()/_exit()
文章目录1,进程创建fork(),获取当前进程的进程号getpid()进程创建fork()示例,getpid()2,父子进程子进程从何处开始运行?父子进程谁先执行?父进程能否多次调用fork()?子进程呢?3,进程结束 exit()/_exit()进程结束exit()示例进程结束_exit()示例1,进程创建fork(),获取当前进程的进程号getpid()#include &amp;lt;un...原创 2018-11-06 18:09:53 · 650 阅读 · 0 评论 -
嵌入式Linux并发程序设计,进程,查看进程信息ps/top/"/proc",修改进程优先级nice/renice,后台进程相关命令jobs/fg/bg
文章目录1,查看进程信息,ps查看系统进程快照2,查看进程信息,top查看进程动态信息,q退出3,查看进程信息,/proc目录查看进程详细信息4,修改进程优先级,nice按用户指定的优先级运行进程5,修改进程优先级,renice改变正在运行进程的优先级6,后台进程相关命令,jobs查看某个终端上的后台进程a,&quot;Ctrl+C&quot;用于结束一个进程,此时用jobs看不到后台有进程b,&quot;Ctrl+Z&quot;用于暂...原创 2018-11-06 16:01:30 · 1601 阅读 · 0 评论 -
嵌入式Linux并发程序设计,进程,进程概念,进程内容,进程类型,进程状态
文章目录1,进程概念2,进程内容3,进程的类型4,进程状态![在这里插入图片描述](https://img-blog.csdnimg.cn/20181106112146774.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L20wXzM3NT...原创 2018-11-06 11:30:36 · 525 阅读 · 0 评论