
linux
文章平均质量分 78
Betty2017
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
fork遗留习题详解
我们先来解决一下第二题,它和我们上篇的第一题区别是什么呢? 我们会发现原来的每次输出后面都会有一个‘\n’,这一题的输出是都没有'\n'。我们要解决这道题首先要清楚‘\n’的作用是什么。提到这个,我们就连着和'\n'差不多功能的知识点一起复习一下。设计操作系统的人非常聪明,它并不是产生一个字符就调用I/O输出,因为如果这样的话,那cpu大量的时间都在完成I/O中断处理了,这样的效率原创 2017-11-17 14:18:58 · 475 阅读 · 0 评论 -
XShell上传、下载本地文件到linux服务器
1.连接设置(linux客户端)注:1.正确填写用户身份认证信息(用户名和密码); 2.在ZMODEM 添加上图设置2.linux服务器端设置在linux主机上,安装上传下载工具包rz及sz; 如果不知道你要安装包的具体名称,可以使用yum provides */name 进行查找系统自带软件包的信息;[html] view plain copy[root@localhost src]# ...转载 2018-06-11 15:42:29 · 2598 阅读 · 0 评论 -
fork之写时拷贝技术
现在大家对fork的主要功能应该很清楚了,我们上一篇也讨论到了,fork函数之后子进程的堆区、栈区和全局数据都是不共享,那我们是不是认为其实父进程每次fork产生一个子进程时,子进程都拷贝了一个父进程的内存空间呢?这个问题就是我们这篇博客要解决的问题。 fork之后经常会和一个exec函数一起使用,exec的详细介绍我们下一篇博客将会写出,我们现在暂时可以了解它就是替换当前程序映像原创 2017-11-25 21:25:18 · 485 阅读 · 0 评论 -
gcc和g++的区别
本文参考:GMPY_Tiger的CSDN博客——Linux 下 gcc 与 g++的差别网易博客者“静心”的博客——《gcc与g++的区别》一般而言,在Linux下编译程序分为以下4个阶段:预处理:编译处理宏定义等宏命令(eg:#define)——生成后缀为“.i”的文件 编译:将预处理后的文件转换成汇编语言——生成后缀为“.s”的文件 汇编:由汇编生成的文件翻译为转载 2017-11-25 21:18:11 · 223 阅读 · 0 评论 -
什么是shell
参考链接:http://www.linuxprobe.com/what-happened-click.htmlhttp://blog.csdn.net/jek123456/article/details/52593251 计算机硬件是由运算器、控制器、存储器、输入输出设备等设备组成的,而能够让机箱内各种设备各司其职的叫做系统内核。系统内核负责驱动硬件、管理活动和分配/管理硬件资源,它对转载 2017-11-25 21:19:47 · 234 阅读 · 0 评论 -
fork的数据是否共享
我们都知道fork的功能了,它可以创建一个新的进程,调用fork的进程,我们称为父进程,而新产生的进程,我们称为子进程。调用一次fork,有两个返回值,在父进程中返回子进程的PID,而在子进程中返回为0,调用失败,返回-1。我们知道fork之后子进程拷贝了父进程的PID,拷贝了父进程的代码内容,那我们都只子进程拷贝之后是从fork之后的下一条语句执行,因为计数器设置为了fork函数之后的下一条指令原创 2017-11-25 21:23:13 · 1011 阅读 · 0 评论 -
查看进程打开的文件和文件被哪些进程打开
转自linux公社博客 有许多情况下,我们需要查看一个进程当前打开了哪些文件,反过来我们也希望知道某一个文件正在被哪些进程所读写。在Linux下有许多有用的工具可以帮我们完成这两个工作,下面介绍这两个工具:lsof与fuser。 fuser find files or sockets' user 格式:fuser [选项] fname -k 如果找到打转载 2017-11-25 21:21:14 · 5214 阅读 · 0 评论 -
fork()函数
问题导入:大家应该都对进程有一个概念,我们从硬盘上找到我们写下的.c文件代码,在linux中我们通过输入驱动命令让预处理器、编译器、汇编器和连接器给我们最后生成一个可执行的目标文件,然后再给一个执行命令,将这个可执行的文件加载进内存执行。就在可执行文件加载进内存的时候,生成一个新的进程,供cpu管理和控制它的执行。那这里就有一个疑问了,这里cpu是自动为我们生成了一个进程,它是怎样原创 2017-11-17 14:17:59 · 1567 阅读 · 0 评论 -
TCP——滑动窗口协议
TCP的滑动窗口协议是;以字节为单位的。现假设A收到B发来的确认报文段,其中窗口是20,而确认号是31,这个信息表明,接收方希望接受的数据是31号数据,所以也就代表我们31号之前的数据都已经正确接收了,我们也不必在发送缓存中为它们保留了,窗口可以向前滑动,我们根据这些确认报文里的信息可以构造我们的滑动窗口。 我们发送窗口里的数据都是可以发送出去的,但是发送窗口里没有收到确认的数据还必须保留原创 2017-12-03 22:48:21 · 1063 阅读 · 0 评论 -
TCP首部信息
一、TCP的连接TCP的连接端点叫做套接字或插口。根据TFC793的定义:端口号拼接到IP地址的端点构成了套接字。因此,套接字的表示方法是在点分十进制的IP地址之后写上端口号,中间用冒号或逗号隔开。例如,若IP地址是192.2.4.5而端口号是80,那么得到的套接字就是(192.3.4.5:80)。总之,我们有套接字socket={IP地址:端口号}每一条TCP连接唯一地被通信两端的两原创 2017-12-03 10:29:46 · 2311 阅读 · 0 评论 -
孤儿进程和僵尸进程
参考:https://baike.baidu.com/item/waitpid/4071590一、孤儿进程1、概念:父进程已经结束,子进程却没有结束。2、危害:父进程用fork创建新的子进程之后,两者是独立的。父进程负责回收子进程的退出状态信息和分配的资源。如果父进程先结束,则子进程没有父进程进行资源的回收,这样会造成资源的浪费,而且子进程会遗留PCB等待父进程的处理,这样也造成了内存原创 2017-12-02 16:44:18 · 268 阅读 · 0 评论 -
模拟实现shell
参考网址: http://blog.chinaunix.net/uid-8996150-id-2011653.html 大家每天都在用shell,每天都用它执行命令,有没有想过shell是怎么实现的呢?今天我们就来模拟实现以下myshell。 我们可以先回忆一下我们用shell的时候分为了几个过程: 1、输出提示符,显示[用户名@主机名 当前所在目录名]$(#原创 2017-12-02 16:43:29 · 657 阅读 · 0 评论 -
网络基础知识
一、基本概念1、计算机网络:自主计算机的互联集合 自主:指功能上独立、地理位置上分散的计算机集合 互联:分为物理互联和逻辑互联功能:计算机网络能够完成的功能就是数据通信和资源共享2、互连网和互联网 1)互连网(internet)是一个通用名词,它泛指有多个计算机网络互连而成的计算机网络。在这些网络之间的通信协议(即通信规则)可以任意选择,不一定非要使用TCP/I原创 2017-12-02 16:33:02 · 502 阅读 · 0 评论 -
操作系统怎样“回应”shell命令行
参考链接:http://www.linuxprobe.com/what-happened-click.html1、检查命令的路径比如我们写一个“ls”命令给系统,系统如何知道我们写的这个命令是什么意思呢?首先,第一步骤阶段是判断用户是否以绝对路径方式输入命令。如果是绝对路径(如/bin/ls)的话则直接执行。如果不是的话,系统就直接进入下一步的判断。2、别名命令?转载 2017-11-17 14:19:53 · 466 阅读 · 0 评论 -
CentOS上安装mysql7.5配置
安装包和教程比较多,这里就不多说了,主要说一下博主安装完成之后mysql密码的问题,mysql7.5不再默认没有密码,有一个暂时的初始登录密码。1、开启mysqlsystemctl start mysqld;2、获取mysql的初始密码grep 'temporary password' /var/log/mysqld.log可以获得第一初始密码,复制3、mysql -p输...原创 2019-04-16 22:52:04 · 603 阅读 · 0 评论