Linux
Strive--顾
一日之计在于晨,一生之计在于勤。
展开
-
shell知识点回顾
$ cat file 文件內容会被洗掉 $ cat file 此处会没有内容 stdout、stderr 的管道先准备好才会从 stdin读内容 > file 会先清空 file,然後才读进 因此再重定位读进file的为空最后cat显示的file就成空了 ;用于请求后台进程的符号是(&) $ wc tempfile & 计算文件里原创 2016-11-18 22:43:25 · 382 阅读 · 0 评论 -
UNIX操作系统和Linux操作系统介绍
UNIX操作系统(尤尼斯),是一个强大的多用户、多任务操作系统,支持多种处理器架构,按照操作系统的分类,属于分时操作系统,最早由KenThompson、DennisRitchie和DouglasMcIlroy于1969年在AT&T的贝尔实验室开发。 目前它的商标权由国际开放标准组织所拥有,只有符合单一UNIX规范的UNIX系统才能使用UNIX这个名称,否则只能称为类UN转载 2017-08-06 21:26:42 · 1385 阅读 · 0 评论 -
死锁的定义、产生原因、必要条件、避免死锁和解除死锁的方法
1. 死锁:如果一组进程中的每一个进程都在等待仅由该组进程中的其它进程才能引发的事件,那么该组进程是死锁的。2.产生死锁的原因:(1)竞争不可抢占性资源(2)竞争可消耗资源: 当系统中供多个进程共享的资源如打印机,公用队列等,其数目不足以满足诸进程的需要时,会引起诸进程对资源的竞争而产生死锁。(3)进程推进转载 2017-09-11 22:04:21 · 564 阅读 · 0 评论 -
linux下的C语言开发(gdb调试)
编写代码过程中少不了调试。在windows下面,我们有visual studio工具。在linux下面呢,实际上除了gdb工具之外,你没有别的选择。那么,怎么用gdb进行调试呢?我们可以一步一步来试试看。[cpp] view plain copy#include int iterate(int value) {转载 2017-09-10 13:22:18 · 314 阅读 · 0 评论 -
linux socket编程的异常原因及处理
序对于UNIX系统,大部分系统调用在非正常返回时,其返回值为-1,并设置全局变量errno。如socket()、bind()、accept()、listen()函数等。变量errno存放一个正整数来表明上一个系统调用的错误值。仅当系统调用发生错误时才设置它。如果系统调用正常返回,它的值是不确定的。因此,当一个系统调用发生错误时应立即检查errno的值,以避免下一个调用修改了errno的转载 2017-09-17 10:24:45 · 5504 阅读 · 0 评论 -
I/O多路复用之select
1、什么是I/O多路复用 关于什么是I/O多路复用,在知乎上有个很好的回答,可以参考罗志宇前辈的回答。 这里记录一下自己的理解。我认为要理解这个术语得从两方面去出发,一是:多路是个什么概念?二是:复用的什么东西?先说第一个问题。多路指的是多条独立的i/o流,i/o流可以这么理解:读是一条流(称之为读流,比如输入流),写是一条流(称之为写流,比如输出流),异常也是一条流转载 2017-09-25 13:50:20 · 396 阅读 · 0 评论 -
Linux进程间通信——使用信号量
这篇文章将讲述别一种进程间通信的机制——信号量。注意请不要把它与之前所说的信号混淆起来,信号与信号量是不同的两种事物。有关信号的更多内容,可以阅读我的另一篇文章:Linux进程间通信——使用信号。下面就进入信号量的讲解。一、什么是信号量为了防止出现因多个程序同时访问一个共享资源而引发的一系列问题,我们需要一种方法,它可以通过生成并使用令牌来授权,在任一时刻只能有一个执行线程访问代码转载 2017-09-16 16:46:47 · 205 阅读 · 0 评论 -
linux socket程序中收到使程序中断的信号
(1)SIGPIPE信号: 当服务器close一个连接时,若client端接着发数据。根据TCP协议的规定,会收到一个RST响应,client再往这个服务器发送数据时,系统会发出一个SIGPIPE信号给进程,告诉进程这个连接已经断开了,不要再写了。又或者当一个进程向某个已经收到RST的socket执行写操作是,内核向该进程发送一个SIGPIPE信号。该信号的缺省学位是终止进程原创 2017-09-15 21:43:26 · 2724 阅读 · 0 评论 -
孤儿进程,僵尸进程,守护进程的剖析
其实有时想想Linux内核的设计也蕴含着很多人生哲学,在linux中有这么几个特殊进程中,我们一开始见到它们的名字可能还会觉得很诧异,但在了解完了原理后,我们仔细想想,这样的命名也不无道理!下面我就给大家分别介绍一下这三种特殊的进程! 1.孤儿进程 如果父进程先退出,子进程还没退出那么子进程将被 托孤给init进程,这是子进程的父进程就是init进程(1号进程).其实还是很好理原创 2017-08-23 21:42:59 · 298 阅读 · 0 评论 -
Linux指令复习
一.用户管理类命令:1.添加(删除)用户:useradd(userdel)格式:useradd (userdel) [用户名] /目录示例:useradd (userdel) abc/home结果:添加名字为abc的用户,位置在/home下注:userdel -r 用户名 删除用户及用户所在目录2.修改密码:passwd格式:passwd [用户名原创 2017-06-17 21:26:32 · 368 阅读 · 0 评论 -
梳理shell编程的相关命令知识
做了好久的c语言编程题,对于c语言编程的知识和注意点有了一些收获 但是shell相关的知识又有些模糊了 所以现在来温习一下。ech0 相当于c语言的printf ; expr 计算机的功能 ; unset 取消一个变量 ;set 显示所有变量 ;readonly 只读变量 ; enc 显示所有环境变量 ;PID 进程号 ;-lt 小于;-le原创 2016-11-15 22:16:54 · 310 阅读 · 0 评论 -
做shell编程的注意点
1 变量前加$ 2 ``(倒引号) 执行括号内命令 3 赋值时等号两边不可以有空格 取值包含空格,必须用双引号括起来 Shell变量可以用大小写字母,区分大小写4 echo命令可以显示单个变量取值,变量名前加$ 5 $# ——传送给shell程序的位置参数的数量 6 $0 ——sh原创 2016-11-16 22:15:41 · 340 阅读 · 0 评论 -
目前自己所学 Linux 的一些知识
目前自己所知道的基本知识易误点: (1) command>file 2>file ( 2 ) command >file 2>&1 (1)中的写法将stdout和stderr都直接送到file中,会出现两个同时抢占file管道,file会被打开两次,stdout和stderr输出的信息会相互覆盖。 (2)中的写法将stdout直接送向file,stderr继承1的管原创 2016-11-09 21:01:08 · 297 阅读 · 0 评论 -
Linux操作系统的主要组成部分
Linux系统一般有4个主要部分:内核、shell、文件系统和应用程序。内核、shell和文件系统一起形成了基本的操作系统结构,它们使得用户可以运行程序、管理文件并使用系统。一.Linux内核 内核是操作系统的核心,具有很多最基本功能,如虚拟内存、多任务、共享库、需求加载、可执行程序和TCP/IP网络功能。Linux内核的模块分为以下几个部分:存储管理、CPU和进程管理、文件原创 2017-08-06 21:20:40 · 16912 阅读 · 0 评论