首页 > 系统相关 >linux编程

linux编程

时间:2023-08-03 20:22:28浏览次数:40  
标签:fcntl 文件 tv 编程 描述符 linux printf include

1.读取文件流程:

  1.打开文件

  2.读/写文件

  3.关闭文件

2.阻塞和非阻塞是文件的一种属性,只有设备文件和网络文件才有的特性

3.fcntl(fd1,F_DUPFD,0)//0被占用,fcntl使用文件描述符表中可用的最小文件描述符

4.fcntl(fd1,F_DUPFD,7)//7被占用,fcntl使用文件描述符表中可用的最小文件描述符,如果7被占用,就找一个最小的文件描述符

5.管道需要有血缘关系的进程之间通信

  共享映射区(无血缘关系的进程之间通信)

  进程间通信:

    1.管道(使用最简单,有血缘关系进程间)

    2.信号(开销最小,有血缘关系进程间)

    3.共享映射区(无血缘关系进程间)

    4.本地套接字(最稳定,实现复杂度最高)

6.占用磁盘空间:目录,文件,连接文件

  不占用磁盘空间:管道,套接字,字符设备,块设备

7.  

#include <stdio.h>
#include <unistd.h>
#include <sys/time.h>
#include <signal.h>

void myfunc(int signo){
        //printf("hello world\n");
        printf("hello world");
        printf("\n");
        fflush(stdout);

}


int main(void){
//      int i;
//      alarm(10);
//      for(i = 0; ; i++){
//      printf("%d\n",i);
//      //#usleep(10*1000);
//      }
        struct itimerval it,oldit;

        signal(SIGALRM,myfunc);

        it.it_value.tv_sec=2;
        it.it_value.tv_usec=0;

        it.it_interval.tv_sec=5;
        it.it_interval.tv_usec=0;

        if(setitimer(ITIMER_REAL,&it,&oldit)==-1){
        perror("setitimer err");

        return -1;


        }

 

8.  只要子进程状态发生变化,就会发生SIGCHLD信号

  

 

标签:fcntl,文件,tv,编程,描述符,linux,printf,include
From: https://www.cnblogs.com/miwaiwai/p/17600563.html

相关文章

  • Linux之DNS域名解析服务
    目录一、DNS二、正向解析一、DNSDNS:将域名转化成ip地址原因:因为ip地址太难记忆了方法一:本地host文件分散式:网络环境www.baidu.comhost文件有直接访问没有的话去找dns缓存dns缓存服务器有直接告诉你没有才会去问根域服务器根域服务器的他管理的主机域类型ww......
  • 红帽SELinux资料-翻译---第三章-Targeted策略
        红帽企业Linux7SELinux用户和管理员指南  翻译者:李天聪        第三章    Targeted策略Targeted策略是红帽企业Linux的默认SELinux策略。当使用targeted策略时,目标进程运行在受限的域中,非目标进程运行在不受限的域中。例如,默认情况下,登......
  • Linux之编译安装
    目录Linux编译安装实例1.编译安装步骤2.编译安装实际操作2.1tar解压2.2./configure2.3make编译2.4makeinstall2.5建立软链接2.6测试Linux编译安装实例1.编译安装步骤编译安装自由度最高复杂度最高安装过程第一步:#tar解压并释放源代码到指定目录第二步:./con......
  • Linux环境编程day01--库与环境变量
    UNIX系统简介:1970年于美国贝尔实验室,作者肯.汤普逊和丹尼斯.里奇UNIX是最早的多用户、多任务、支持多种CPU架构,高稳定性、高可靠性、高安全性既能构建大型关键型业务系统的服务器(银行、电信公司等),也能支持移动嵌入式设备Minix是一种开源的基于微内核架构的类UNIX计算机操作......
  • 红帽SELinux资料-翻译---第二章-SELinux安全上下文
         红帽企业Linux7SELinux用户和管理员指南  翻译者:李天聪        第一章    SELinux安全上下文进程和文件标有包含附加信息的SELinux上下文,例如SELinux用户、角色、类型以及级别(可选)。运行SELinux时,所有这些信息都用于做出访问控制......
  • 记录一下Linux下远程访问Mysql连接不上,报错The driver has not received any packets
    问题所在远程服务器已经提前安装好了MySQL,版本也是对应的。在ssh上可以正常进入MySQL数据库。但是其他地方无法连接上,例如navicat和IDE内部都发生报错。排查1.首先排查了一下远程服务器上mysql服务状态是否处于正常运行状态sudoservicemysqldstatus没有发生问题。2.检......
  • Linux下Nodejs安装三种方式及开发环境
    很久之前安装过windows下以及Mac下的node,感觉还是很方便的,不成想今天安装linux下的坑了老半天,特此记录。    首先去官网下载代码,这里一定要注意安装分两种,一种是SourceCode源码,一种是编译后的文件。我就是按照网上源码的安装方式去操作编译后的文件,结果坑了好久好久。    ......
  • linux基本命令
    1.ps:常用参数:psauxUSER:显示每个进程所属的用户。PID:进程的唯一标识符(ProcessID)。%CPU:进程当前使用的CPU百分比。%MEM:进程当前使用的内存百分比。VSZ:进程的虚拟内存大小(以KB或MB为单位)。RSS:进程使用的物理内存大小(以KB或MB为单位)。TTY:进程关联......
  • Linux环境编程--功能函数编写1
    Linux系统编程实例11.实现一个计算文件大小的函数方法1(标准IO):函数使用:intfseek(FILE*stream,longoffset,intwhence);返回值:成功0失败-1longintftell(FILE*stream);返回值:返回位置标识符的当前值。如果发生错误,则返回-1Llongfile_size(constchar*path){......
  • 鸟哥Linux私房菜学习记录day8
    第十五章  例行性工作调度工作调度种类:atcronat:at是个可以处理仅执行一次就结束调度的指令crontab:crontab这个指令所设置的工作将会循环的一直进行下去,可循环的时间为分钟、小时、每周、每月或每年等。crontab除了可以使用指令执行外,亦可编辑/etc/crontab来支持。......