嵌入式Linux中文站

linux socket进程通信

阅读(284)

socket进程通信与网络通信使用的是统一套接口,只是地址结构与某些参数不同。 一。创建socket服务端的流程如下: (1)创建socket,类型为AF_LOCAL或AF_UNIX,表示用于进程通信: [cpp] view plain copy int server_fd; int client_fd; //clientfiledescriptor struct sockaddr_unserver_addr; struct sockaddr_unclient_addr; size_t server_le

Linux查看进程和终止进程的技巧

阅读(183)

1. 在LINUX命令平台输入1-2个字符后按Tab键会自动补全后面的部分(前提是要有这个东西,例如在装了tomcat的前提下,输入tomcat的to按tab)。 2. ps 命令用于查看当前正在运行的进程。 grep 是搜索 例如: ps -ef | grep java 表示查看所有进程里CMD是java的进程信息 ps -aux | grep java -aux 显示所有状态 ps 3. kill 命令用于终止进程 例如: kill -9 [PID] -9表示强迫进程立即停止 通常用ps 查看进程PI

Linux下Signal信号

阅读(234)

信号是Linux编程中非常重要的部分,本文将详细介绍信号机制的基本概念、Linux对信号机制的大致实现方法、如何使用信号,以及有关信号的几个系统调用。 信号机制是进程之间相互传递消息的一种方法,信号全称为软中断信号,也有人称作软中断。从它的命名可以看出,它的实质和使用很象中断。所以,信号可以说是进程控制的一部分。 一、信号的基本概念 本节先介绍信号的一些基本概念,然后给出一些基本的信号类型和信号对应的事件。基本概念对于理解和使用信号,对于理解信号机制都特别重要。下面就来看看什么是信号。 1、基本概念 软中

Linux进程间通信方式

阅读(269)

进程间通信概述 进程通信的目的 数据传输 一个进程需要将它的数据发送给另一个进程,发送的数据量在一个字节到几M字节之间 共享数据 多个进程想要操作共享数据,一个进程对共享数据 通知事 一个进程需要向另一个或一组进程发送消息,通知它(它们)发生了某种事件(如进程终止时要通知父进程)。 资源共享 多个进程之间共享同样的资源。为了作到这一点,需要内核提供锁和同步机制。 进程控制 有些进程希望完全控制另一个进程的执行(如Debug进程),此时控制进程希望能够拦截另一个进程的所有陷入和异常,并能够及时知道它的状态改

linux进程调度方法简述

阅读(342)

在 Linux2.6 中,仍有三种调度策略: SCHED_OTHER、SCHED_FIFO 和 SCHED_RR。 SCHED_ORHER:普通进程,基于优先级进行调度。 SCHED_FIFO:实时进程,实现一种简单的先进先出的调度算法。 SCHED_RR:实时进程,基于时间片的SCHED_FIFO,实时轮流调度算法。 前者是普通进程调度策略,后两者都是实时进程调度策略。SCHED_FIFO 与 SCHED_RR 的区别是:当进程的调度策略为前者时,当前实时进程将一直占用 CPU 直至自动退出,除非有更紧

linux多线程的总结(pthread用法)

阅读(459)

#include int pthread_create(pthread_t *restrict tidp,const pthread_attr_t *restrict attr, void *(*start_rtn)(void),void *restrict arg); Returns: 0 if OK, error number on failure 第一个参数为指向线程标识符的指针。 第二个参数用来设置线程属性。 第三个参数是线程运行函数的起始地址。 第四个参数是运行函数的参数。 当创建线程成功时,函

Linux多线程及线程间同步

阅读(253)

1、进程和线程的区别 进程的目的就是担当分配系统资源(CPU时间、内存等)的基本单位。线程是进程的一个执行流,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位。一个进程由几个线程组成,线程与同属一个进程的其他的线程共享进程所拥有的全部资源。 地址空间:进程有独立的地址空间,包括文本区域(text region)、数据区域(data region)和堆栈(stack region);一个进程崩溃后,在保护模式下不会对其它进程产生影响;线程只是一个进程中的不同执行路径,线程有自己的堆栈和局部

设置Linux进程的睡眠和唤醒

阅读(277)

在Linux中,仅等待CPU时间的进程称为就绪进程,它们被放置在一个运行队列中,一个就绪进程的状 态标志位为TASK_RUNNING。一旦一个运行中的进程时间片用完, Linux 内核的调度器会剥夺这个进程对CPU的控制权,并且从运行队列中选择一个合适的进程投入运行。 当然,一个进程也可以主动释放CPU的控制权。函数 schedule()是一个调度函数,它可以被一个进程主动调用,从而调度其它进程占用CPU。一旦这个主动放弃CPU的进程被重新调度占用 CPU,那么它将从上次停止执行的位置开始执行,也就是说它