随笔分类 -  Linux系统编程

摘要:文件和文件系统 文件是Linux中最基本和重要的对象。Linux遵循一切皆为文件的理念。因此,很多的交互工作是通过读取和写入文件来完成,即使问题的目标并不是你日常所想的文件。 文件必须被打开才能被访问。文件可以以只读方式或者只写方式打开,或者两者兼有。一个打开的文件通过唯一的文件描述符进行引用,该文 阅读全文
posted @ 2020-10-28 01:58 doitjust 阅读(105) 评论(0) 推荐(0)
摘要:1. 打开终端: Ctrl + Alt + t Ctrl + Shift + n 2. linux@ubuntu:~$ linux:用户名 ubuntu:主机名 ~:家目录 $:提示符 3. ls 浏览目录 ls -l ls -h 查看文件大小 ls -a 显示所有文件 4. ctrl + l cl 阅读全文
posted @ 2020-10-28 01:57 doitjust 阅读(121) 评论(0) 推荐(0)
摘要:open()、read()、write()、lseek()和close()。这5个函数的特点是不带缓存,直接对文件(包括设备)进行读写操作。这些函数虽然不是ANSI C 的组成部分,但是是POSIX的组成部分。 基本文件操作 1. 函数说明 open() 函数用于打开或创建文件,在打开或创建文件是可 阅读全文
posted @ 2020-10-28 01:56 doitjust 阅读(260) 评论(0) 推荐(0)
摘要:1.函数原型 SYNOPSIS #include <signal.h> typedef void (*sighandler_t)(int); sighandler_t signal(int signum, sighandler_t handler); (1) 功能 设置某个信号的处理方式 处理方式可 阅读全文
posted @ 2020-04-08 09:09 doitjust 阅读(623) 评论(0) 推荐(0)
摘要:信号的发送与接收 (1)发送 一般来说,大多数发送信号的原因,都是因为内核、硬件发生了某些事件时,才会向某个进程发送该事件专用的信号,告诉该进程这个事件发生了。 不过对于我们自己写的进程来说,其实更多的是接收信号,而不是发送信号。 我们自己发送信号的原因无非如下几种情况: (a)Ctrl+C、Ctr 阅读全文
posted @ 2020-04-02 20:02 doitjust 阅读(650) 评论(0) 推荐(0)
摘要:kill和pkill命令 + (1)为什么当进程收到某些信号是,会被终止呢? + 1) 比如Ctrl+C 发送SIGINT给进程时 + 2)比如操作一个错误地址,内核发送SIGSEGV信号给进程时 + 3)比如Ctrl+\ 发送SIGQUIT信号给进程时 + 4)比如在命令行使用kill pid,默 阅读全文
posted @ 2020-04-02 19:11 doitjust 阅读(750) 评论(0) 推荐(0)
摘要:Linux下常用的信号有哪些 1.5 Linux下都有哪些信号 1.5.1 信号列表 kill l + 在命令行支持kill l,可以显示所有的信号列表 + 总共62个信号,也就是说每个进程都可以接收的信号种类有62种。1~64为信号的编号,SIG 为信号的宏名。 + (1) 为什么这么多信号 + 阅读全文
posted @ 2020-04-02 19:06 doitjust 阅读(1445) 评论(0) 推荐(0)
摘要:什么是信号,学习信号有什么意义 第7章 信号 + 我们这里讲的信号指的是OS提供的一种软件层面的通信进制,大家不要和电子专业的“电信号”搞混。 1. 什么是信号 + 信号是一种通知进程某件事情发生了的一种通信机制,通过向进程发送某个信号,可以告诉进程发生了什么事情,进程收到这个信号后,就知道某事情发 阅读全文
posted @ 2020-04-02 19:02 doitjust 阅读(1798) 评论(1) 推荐(0)
摘要:这一节主要展现一个关于Linux环境提供的服务的简要概览。所有的Unix系统,包括Linux系统,都提供了一个功能的抽象和接口集合。事实上,这个共同点定义了Unix。如对文件和进程的抽象、管道和套接字管理的接口等等,都是Unix的核心。 这个概览假定你已经熟悉了Linux环境:可以熟练使用shell 阅读全文
posted @ 2020-02-12 14:53 doitjust 阅读(638) 评论(0) 推荐(0)
摘要:进程间通信 在进程控制开发中,读者已经学会了如何创建进程以及如何对进程进行基本的控制,这些都只是停留在父子进程之间的控制,本章将样学习不同的进程间进行通信的方法。通过本章学习,读者将会掌握以下内容: 掌握Linux中管道的基本概念 掌握Linux中管道的创建 掌握Linux中管道的读写 掌握Linu 阅读全文
posted @ 2019-07-08 16:13 doitjust 阅读(332) 评论(0) 推荐(0)
摘要:进程控制开发 文件是linux中最常见最基础的操作对象,而进程则是系统调度的单位。 Linux下进程概述 进程相关的基本概念 进程的定义 进程是一个独立的可调度的活动;进程是一个抽象实体,当执行某个任务是将要分配和释放各种资源;进程是可以并行执行的的计算部分。 以上进程的概念都不相同,但其本质是一样 阅读全文
posted @ 2019-07-05 13:10 doitjust 阅读(598) 评论(0) 推荐(0)
摘要:1 sudo apt-get update #刷新软件仓库 2 sudo apt-get upgrade #更新全部软件包 一、文件处理命令: 1、命名名称:ls (显示目录文件) 命令所在路径: /bin/ls 命令格式:命令 [-选项] [参数] -a 显示所有文件,包括隐藏文件 -l 详细信息 阅读全文
posted @ 2017-12-15 13:01 doitjust 阅读(215) 评论(0) 推荐(0)
摘要:GNU make Linux程序员必须学会使用GNU make来构建和管理自己的软件工程。GNU的make能够使整个工程的编译、链接只需要一个命令就可以完成。 makefile make在执行时,需要一个命名为Makefile的文件。Makefile文件描述了整个工程的编译、链接等规则。其中包括:工 阅读全文
posted @ 2017-02-07 21:04 doitjust 阅读(254) 评论(0) 推荐(0)
摘要:简介 GDB是GNU发布的一款功能强大的程序调试工具。GDB主要完成下面三个方面的功能: 1.启动被调试程序 2.让被调试的程序在指定的位置停住。 3.当程序被停住时,可以检查程序状态(如变量值)。 GDB快速进阶 1.编译生成可执行文件: gcc -g tst.c -o tst 2.启动GDB g 阅读全文
posted @ 2017-02-07 20:15 doitjust 阅读(291) 评论(0) 推荐(0)
摘要:GCC简介 Linux系统下的gcc是GNU推出的强大、性能优越的多平台编译器,是GNU的代表作之一。gcc可以在多种硬体平台上编译出可执行程序,其执行效率与一般的编译器相比平局效率要高20%~30%。 gcc编译器能将C、C++源程序、汇编程序编译、链接成可执行文件。 在Linux系统中,可执行文 阅读全文
posted @ 2017-02-07 19:59 doitjust 阅读(353) 评论(0) 推荐(0)