LINUX
飞翔的荷兰橙
牛厂程序员一枚,很懒但还是要上班
展开
-
调研task_struct结构体, 理解结构体中的各个字段的含义.
task-stuct是什么1.Linux内核通过一个被称为进程描述符的task_struct结构体来管理进程,这个结构体包含了一个进程所需的所有信息。 它定义在linux-2.6.38.8/include/linux/sched.h文件中 task_struct都可能包含哪些成员信息? 1.进程状态,记录进程在等待,运行,或死锁 2.调度信息,由哪个调度函数调度,怎样调度等 3....原创 2018-02-19 14:18:29 · 1196 阅读 · 0 评论 -
Linux下的守护进程那些事
什么是守护进程守护进程是在后台运行的一种特殊进程,脱离于终端。因为这避免被一切终端产生的信息所打断,它在执行过程中产生的任何信息也不会在终端上显示。守护进程周期性的在执行某种任务或者处理某些发生的事件,Linux大多数服务器就是用守护进程实现的。 一般情况下,守护进程可以通过以下方式启动: 1.在系统启动时由启动脚本启动。 2.利用inetd超级服务器启动。 3.由cron定时启动以及...原创 2018-07-27 17:22:50 · 676 阅读 · 1 评论 -
一个超简单的UDP网络程序
实现简单UDP客户端和服务器端服务器端:#include <stdio.h> #include <s...原创 2018-07-07 15:21:55 · 261 阅读 · 0 评论 -
git和github的关系
写在前面:我身边好多人问我git和github的区别,想必对于好多人没学过的大佬们恐怕也是一脸懵逼,但是不知道也是不行的,所以我今天就来讲一讲这二者的区别和联系。 用一句话形容这二者的关系:git是弓,你的代码是箭,github是靶子。 git是软件,它可在本地建立仓库,你写的代码的各个版本都可以存着 github是网上仓库,你写的代码的各个版本都可以存着。 历史渊源:Git比GitHub...原创 2018-05-31 14:51:31 · 60278 阅读 · 10 评论 -
【LINUX]进程等待
什么是wait()函数?wait()函数一般用在父进程中等待回收子进程的资源,而防止僵尸进程的产生。什么是僵尸进程?函数原型pid_t wait (int * status);函数说明参数 status 是一个整形指针。如果status不是一个空指针,则终止进程的终止状态将存储在该指针所指向的内存单元中。如果不关心终止状态,可以将 status参数设置为NULL。 s...原创 2018-05-07 22:45:01 · 866 阅读 · 0 评论 -
【LINUX】进程创建,fork和vfork的区别
什么是进程?我已经在很早一篇博客阐述过了,不了解的可以去看看。 链接:什么是进程进程的创建认识fork函数fork():一个进程,是包括代码、数据和分配给进程的资源,fork()函数通过系统调用创建一个与原来进程几乎完全相同的进程,也就两个进程可以完全做相同的事,但如果初始化参数或者传入的变量不同,两个进程也可以做不同的事一个进程调用fork()函数后,系统先给新的进程分...原创 2018-05-06 18:18:19 · 1022 阅读 · 0 评论 -
【LINUX】管道
概念默认情况下,在shell命令执行过程中,任何命令都有一个默认的标准输入设备,标准输出设备和标准错误输出设备,使用管道 “ | ”可以将两个命令连接起来,从而改变输入输出的方式。其命令如下: rpm -qa | grep telnet 此命令rpm -qa命令(进程)的输出作为grep telnet的输入。现在Linux使用的进程间通信方式包括: (1)无名管道(p...原创 2018-05-09 22:55:24 · 915 阅读 · 0 评论 -
[linux]如何使用命令安装gcc/g++, gdb, vim
查看配置首先,在命令行中输入vi查看一下vim的信息: 输入ls -a查看是否存在.vimrc和.viminfo这样的配置文件,结果如下: 1.配置gcc/g++Centos中使用yum来配置gcc和g++,若要安装gcc,则在命令行中输入:yum -y install gcc,按回车键就能够进行gcc的安装,若要安装g++,则需要在命令行中输入:yum -y insta...原创 2017-11-24 15:37:15 · 16935 阅读 · 4 评论 -
【LINUX】文件操作
文件流与文件操作符的区别首先,任意进程在运行时都默认打开了3个流对象,这三个流对象分别是stdin,stdout,stderr,,这3个流对象作为全局变量被引进到每个进程中,但ANSI C库函数是在用户态实现,流的相应资源也存在于用户态,但无论如何最终都需要通过内核实现对文件的读写控制,因此,在fopen()系列函数中必然调用了对操作系统的系统调用,这一系统调用在linux下即为open,wr...原创 2018-05-08 21:24:05 · 1629 阅读 · 0 评论 -
LINUX进程中的孤儿进程和僵尸进程
1.什么是进程?进程进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。在早期面向进程设计的计算机结构中,进程是程序的基本执行实体;在当代面向线程设计的计算机结构中,进程是线程的容器。程序是指令、数据及其组织形式的描述,进程是程序的实体.狭义定义:进程是正在运行的程序的实例(an instance of a c...原创 2018-04-23 21:53:29 · 948 阅读 · 0 评论 -
[Linux] 同步异步阻塞非阻塞的区别
同步和异步传统意义上的同步,指的是两种事物一样进行同样的动作或者处于同样的状态。 在计算机术语中:同步指的是在一次同步方法调用开始时,调用方必须主动等待被调用对象返回才能进行下一步操作。 而异步指的是再一次方法调用开始调用者不必等待调用者返回才能去处理别的事情,而是被调用者主动或者其他方通知调用者被调用对象返回了。举例子:你现在需要照顾一个小宝宝,现在小宝宝睡着了,在他睡醒时必须有人照...原创 2018-08-14 23:50:42 · 727 阅读 · 0 评论