Linux
文章平均质量分 74
迷雾江湖
奋斗中的菜鸟程序员
展开
-
信号及信号处理(二): 可靠信号与不可靠信号
一、可靠信号与不可靠信号有哪些? SIGHUP(1号) 至 SIGSYS(31号)之间的信号都是继承自UNIX系统,是不可靠信号,也称为非实时信号; SIGRTMIN(33号) 与 SIGRTMAX(64号)之间的信号,它们都是可靠信号,也称为实时信号;二、什么是可靠信号? 可靠性是指信号是否会丢失,即该信号是否支持排队;原创 2017-11-10 21:00:01 · 2002 阅读 · 0 评论 -
僵尸进程和孤儿进程
什么是孤儿进程和僵尸进程?一、孤儿进程1. 什么是孤儿进程: 如果一个子进程的父进程先于子进程结束,则该子进程将变成孤儿进程。它将由init进程收养,成为init进程的子进程。 通俗来说,就是父亲(父进程)去世了,儿子(子进程)成了孤儿(孤儿进程),然后儿子被孤儿院(init进程)收养。2. 怎么产生孤儿进程:#include #include原创 2018-01-18 13:30:33 · 474 阅读 · 0 评论 -
进程基础
进程基础一、什么是程序: 为了执行某一特定任务的一系列指令的有序集合。程序 = 代码段 + 数据段二、什么是进程:从用户角度看: 进程是程序的一次执行过程` 从操作系统角度看:> 1. 进程是分配CPU,内存、时间片等资源的基本单位 2. 进程是操作系统分配资源的最小单位 3. 进程有自己的执行状态进程 = 程序 + 堆栈 + PCB(进程控制块)三、进原创 2018-01-18 10:57:03 · 378 阅读 · 0 评论 -
简单线程池C语言实现
一个简单线程池的实现一、什么是线程池?线程池的官方定义: 线程池是一种成熟的线程使用模式。实现由领导者与跟随者模式,半同步半异步模式。线程池的伸缩性对性能有较大的影响。创建太多线程,将会浪费一定的资源,有些线程池未被充分使用。销毁太多线程,将导致之后浪费时间再次创建它们。创建线程太慢,将会导致长时间的等待,性能变差。销毁线程池太慢,导致其他线程资源饥饿。 二原创 2018-01-31 13:39:55 · 1453 阅读 · 0 评论 -
vim最常用的命令集合
最常用命令集合:普通模式: i 从光标所在位置开始进入插入模式 I 光标回到所在行首,进入插入模式(i 的大写) a 从光标所在位置的下一个字符处进入插入模式 A 光标回到所在行尾,进入插入模式 o 向光标所原创 2017-11-26 21:20:05 · 288 阅读 · 0 评论 -
Shell脚本实例(一) 监控一个程序的运行情况
一、问题描述: 监控指定程序是否运行,如果程序没有运行,那么启动程序。二、解决思路: 、我们判断一个程序是否运行,可以通过查看该程序的进程信息来判断。 例: 判断程序 01FirstScript.sh 是否在运行 命令:ps -ef | grep 01FirstScri原创 2017-11-26 16:31:43 · 12318 阅读 · 2 评论 -
Shell脚本实例(二) 向指定目录下不断产生指定大小的文件
一、问题描述: 向一个指定的目录下面不断产生指定大小的文件二、解决思路: 、根据题目关键字 "指定目录"、 "指定大小",所以该程序肯定有两个参数,一个参数指定目录,一个参数指定大小 、还有一个关键字 "不断产生",所以程序主体肯定是一个死循环 、最后一个关键字 "产生文件",怎么产生文件?原创 2017-11-26 17:14:52 · 1772 阅读 · 0 评论 -
Shell脚本的基本语法(二) 预定义特殊字符、case语句和函数调用
一、Shell中有许多预定义的特殊字符: $n :n是一个数字(大于10则用大括号括起来,${12}),代表程序的第n个参数 $# :总共有多少个参数 $* :指所有的参数 $@ :指所有的参数 $? : 上次命令执行的返回值 注意:我们发现$*和$@的意思是一样的,其实它们原创 2017-11-26 14:55:46 · 1345 阅读 · 0 评论 -
Shell脚本的基本语法(一) if判断、for循环、while循环和until循环
这次来介绍一下Shell的基本语法:一、注释 Shell中的注释标志是井号 "#",除了脚本文件第一行的#不是注释之外,其他地方出现#,则说明#开始,到本行的末尾都是注释二、指定脚本解释器 一般每个Shell脚本文件的第一行都是指定脚本解释器 #!/bin/bash : 指定本脚本文件使用bash脚本解释器解释执行原创 2017-11-26 14:13:32 · 16181 阅读 · 6 评论 -
什么是Linux的Shell脚本和怎么执行脚本?
一、什么是Shell? shell是外壳的意思,就是操作系统的外壳。我们可以通过shell命令来操作和控制操作系统,比如Linux中的Shell命令就包括ls、cd、pwd等等。总结来说,Shell是一个命令解释器,它通过接受用户输入的Shell命令来启动、暂停、停止程序的运行或对计算机进行控制。二、什么是脚本? 脚本就是由Shell命令组成的文件,这原创 2017-11-26 12:17:46 · 8093 阅读 · 1 评论 -
安装Linux学习必备软件
一、装机必备软件都有哪些? 、首先,在工作的时候我们不可能在Linux服务器上直接操作(安全起见),所以我们要通过远程登录来进入Linux服务器,然后在远程登录界面上进行操作。 有很多的远程登录软件,比如XSell、SecureCRT等等。但安装这些软件的前提是Linux系统上必须安装远程登录服务 openssh-server!(安装软件原创 2017-11-26 10:49:12 · 4880 阅读 · 0 评论 -
Linux系统常用命令(新手)
首先介绍最重要的命令: man 手册(后面可以跟命令名,也可以是函数名) 作用:查看该命令或函数名的所有相关信息。 例如: man ls 查看ls命令的所有相关信息命令: ls :显示指定目录下的所有文件(目录也是文件) 默认情况下,ls显示当前目录下的所有文件,也可以 l原创 2017-11-24 10:21:38 · 1745 阅读 · 0 评论 -
Makefile的编写规则
一、什么是Makefile? 通俗来说,Makefile就是一个文本形式的文件,其中包含一些规则告诉make编译哪些文件以及怎样编译这些文件。然后通过make命令来逐步执行Makefile定义好的编译规则。 Makefile带来的最大的好处就是:" 自动化编译 ",一旦写好了Makefile,只需要一个make命令,整个工程完全自动编译,极大的提高了软件项原创 2017-12-02 22:24:20 · 1094 阅读 · 0 评论 -
通用Makefile的编写和在项目工程中使用Makefile(包括动态库、静态库的链接、整个工程联合编译)
一、通用Makefile文件的编写 (1)、什么是通用Makefile? 这里的通用Makefile指的是它既能编译可执行文件、也能编译动态链接库、又能编译静态库,只需要更改很少的内容即可。 (2)、写一个通用Makefile#-------------------------配置区域------原创 2017-12-03 14:51:27 · 8045 阅读 · 4 评论 -
Linux中gdb程序调试器的命令使用(包括后台进程和多线程的调试)
一、什么是gdb? gdb是一个由GNU开源组织发布的、UNIX/LINUX操作系统下的、基于命令行的、功能强大的程序调试工具。 gdb中的命令固然很多,但我们只需要掌握其中最重要的十几个命令,就大致可以完成日常的基本的程序调试工作。 no symbol table is loaded二、怎么进入gdb调试模式? 不是什么可执行程序都是可以用gdb原创 2017-12-02 20:35:25 · 727 阅读 · 0 评论 -
Linux中tree命令的C语言实现
一、tree命令是干什么的? 我们经常用tree命令来查看指定目录下的目录文件结构,并以树状结构显示。二、明确需求: 1、显示目录下的所有文件 2、遇到目录则要进入目录,并显示该目录下的所有文件 3、显示需要使用树状层次显示三、编程思路: 、很明显这是一个递归过程,遇到目录则递归原创 2017-12-10 11:52:00 · 7348 阅读 · 2 评论 -
信号及信号处理(一): 聊聊Linux系统中所有信号及其含义
首先,在Linux的shell中输入命令 kill -l kill -l可显示Linux系统支持的全部信号。 我们看看他们的具体含义:原创 2017-11-10 19:04:37 · 503 阅读 · 0 评论 -
创建守护进程
创建守护进程一、什么是守护进程? 是指在后台运行的,没有控制终端与之相连的进程,它独立于控制终端,通常周期性地执行某种任务。二、怎么创建守护进程?1. 让进程在后台执行。方法:调用fork或vfork生成一个进程,然后父进程退出。 2.调用setsid创建一个新会话(目的是为了摆脱终端)。控制终端、登录会话和进程组通常是从父进程继承下来的,守护进程要摆脱它们,不受它们的影响。方法:原创 2018-01-18 19:44:23 · 420 阅读 · 0 评论