
Linuxc语言
老夫运维全靠一把梭
放飞梦想,放飞自我。
展开
-
常见的排序方式之二:选择排序
选择排序。原创 2017-07-11 17:00:32 · 265 阅读 · 0 评论 -
进程间通信1
管道通信 管道是单向、先进先出的,他把一个进程的输出和另一个进程的输入连在一起。两个程序之间传递数据的一种简单方法是使用popen和pclose。#include <stdio.h> FILE *popen(const char *command, const char *type); int pclose(FILE *stream);popen函数允许一个程序将另一个程序作为新进程来启动,并可以原创 2017-08-14 20:35:36 · 278 阅读 · 0 评论 -
进程通信—卖票系统的实现
#include <stdio.h> #include <sys/ipc.h> #include <sys/shm.h> #include <sys/types.h> #include <string.h> #include <time.h>typedef struct _shm { int flag; int ticket; }SHM;void sellTicket(SHM* ps原创 2017-08-14 18:28:23 · 455 阅读 · 1 评论 -
进程控制3—父子进程の恩怨情仇
子进程比父进程先退出:僵尸进程 僵尸进程指的是那些虽然已经终止的进程,但仍然保留一些信息,等待其父进程为其收尸。 如何产生? 如果一个进程在其终止的时候,自己就回收所有分配给它的资源,系统就不会产生所谓的僵尸进程了僵尸进程产生的过程: 1. 父进程调用fork创建子进程后,子进程运行直至其终止,它立即从内存中移除,但进程描述符仍然保留在内存中(进程描述符占有极少的内存空间)。 子进程的状态变原创 2017-08-10 17:12:21 · 438 阅读 · 0 评论 -
进程控制2—进程编程
紧接着上一篇,我们来写写关于进程的编程。获取ID通过man getpid这个命令我们可以在Linux终端上获取到这个函数详细的讲解#include <sys/types.h> #include <unistd.h>//头文件//获取本进程ID pid_t getpid(void)//获取父进程ID pid_t getppid(void)下面通过一段代码来看看查找进程ID#include <stdio原创 2017-08-10 15:31:27 · 257 阅读 · 0 评论 -
进程控制1之初识进程
1.首先我们要区分进程与程序之间的区别。程序是可执行的文件,它就躺在我们的磁盘里;而进程则是运行的程序,进程的内存由一系列段组成(代码段,初始化数据段和为初始化数据段)。2.进程的状态(进程有三个状态) 执行状态:占用着cpu, 就绪状态:等待分配cpu, (阻塞)等待状态:不能占用cpu,若等待的事件发生则可将其唤醒。3.每一个进程都有一个id(为整数),每一个进程都有一个创建它的进程,叫父原创 2017-08-10 11:04:43 · 232 阅读 · 0 评论 -
文件系统编程—系统调用与标准IO
首先需要明白的是,所有的操作系统都提供多种服务的入口点,程序由此向内核请求服务。这些可直接进入内核的入口点被称为系统调用。 在Linux中,为了更好地保护内核空间,程序的运行空间分为内核空间和用户空间(也就是常称的内核态和用户态),它们分别运行在不同的级别上,在逻辑上是相互隔离的。因此,用户进程在通常情况下不允许访问内核数据,也无法使用内核函数,它们只能在用户空间操作用户数据,调用用户空间的函数原创 2017-08-08 20:35:38 · 370 阅读 · 0 评论 -
十进制转换为十六进制
#include #define BASE 16 void tran(int n) { if (n == 0) return; tran(n/BASE); if (n%BASE > 9)//每一次循环后定义比9大的余数 printf ("%c",n%BASE - 10 + 'A'); else //否则继续循环输出 printf ("%d",n原创 2017-07-20 20:47:57 · 379 阅读 · 0 评论 -
经典的报数退出问题,以前叫猴子选大王。n个人排成一圈报数,报到3的退出,循环直至最后一个,问,最后一个的原来号码是多少。
#include void main() { int i,k,m,n,num[50],*p; printf("input number of person: n="); scanf("%d",&n); p=num; for(i=0;i *(p+i)=i+1; i=0; k=0; m=0; while(m { if(*(p+i)!=0)//判断这个号(原来的序号)是否出局原创 2017-07-11 11:22:12 · 902 阅读 · 0 评论 -
常见的排序之一:冒泡排序
两种排序方式之一:冒泡排序。原创 2017-07-11 16:49:55 · 251 阅读 · 0 评论 -
Linux下C语言项目—聊天室的搭建1.0
之所以为1.0,是因为虽然能运行,但有些地方的边际条件并没有得到补充,很容易产生错误,先上代码吧。 一个在 Linux 下可以使用的聊天软件,要求至少实现如下功能: 1. 采用 Client/Server 架构 2. Client A 登陆聊天服务器前,需要注册自己的 ID 和密码 3. 注册成功后,Client A 就可以通过自己的 ID 和密码登陆聊天服务器 4. 多原创 2017-08-30 13:54:53 · 4442 阅读 · 13 评论