
Linux开发
此人未设置昵称
这个作者很懒,什么都没留下…
展开
-
Docker,安装+简单使用 (一)
docker简介docker 究竟是什么?docker 是一个基于LXC (linux containers)的高级容器引擎。听起来是不是不知道在说什么?简单地说,docker 是一个轻量级的虚拟解决方案,或者说 —— 一个超轻量级的虚拟机。你一定理解虚拟机是什么,那么,你现在可以认为 docker 是一个秒级启动的虚拟机,可以轻易创建和删除,就这一点,是不是酷毙了。我们会经常看到这个 doc...原创 2020-03-25 14:30:55 · 197 阅读 · 0 评论 -
Linux开发——C语言调用外部程序(如lua,python,php,java...)方法(CGI)
目录CGI定义CGI功能 CGI编程GET方法:POST方法实战get方法服务端代码get方法外部程序(c语言)例子post方法服务器端程序post方法外部程序(c语言)例子CGI定义是用于WEB服务器和外部应用之间信息交换的标准接口。物理上是一段程序。CGI功能 简单功能:计数器、生成包含日期、天气等的页面中等难度的功能:图象映象、...原创 2019-11-09 16:43:54 · 2788 阅读 · 0 评论 -
Linux开发——http加密(https)
简介HTTPS (全称:Hypertext Transfer Protocol over Secure Socket Layer) 是HTTP的安全版HTTPS默认使用TCP端口443,也可以指定其他的TCP端口。URI格式 https//:URL加密简介对称加密:指的是加密方和解密方使用的是同一个密钥优点:加密解密的速度很快缺点:如果两个从未通信过的用户...原创 2019-10-30 21:41:47 · 1403 阅读 · 0 评论 -
Linux开发——http服务器开发
http协议解析URL资源定位符 构成: 协议://域名/url路径 响应#include <stdio.h>#include <sys/socket.h>#include <sys/types.h>#include <time.h>#include <errno.h>#include <...原创 2019-10-24 14:14:45 · 306 阅读 · 0 评论 -
Linux开发——多线程管理
目录线程创建线程线程退出线程的私有数据线程互斥:条件变量简单列子读写锁线程信号线程属性线程获取线程tpid:syscall(SYS_gettid) 系统调用创建线程线程退出线程的私有数据线程互斥:条件变量简单列子#include "stdio.h"#include "stdlib.h"...原创 2019-10-20 16:44:30 · 365 阅读 · 0 评论 -
Linux开发——IPCs进程间通信
目录进程间通信方法汇总有名管道例子 接受端发送端:system v ipc消息队列message头文件函数实现例子server例子clinet信号量简单例子共享内存文件句柄传输接受句柄发送句柄mmap进程间通信方法汇总有名管道管道只支持两个进程通信,且半双工通信当打开管道文件时,阻塞,直到文件的另一...原创 2019-10-19 15:49:35 · 580 阅读 · 0 评论 -
Linux开发——多进程管理
进程结构体task_struct进程状态define TASK_RUNNING 0 运行状态define TASK_INTERRUPTIBLE 1 可以被信号中断睡眠define TASK_UNINTERRUPTIBLE 2 不可以被信号中断睡眠define TASK_STOPPED 4 停止状态define TASK_ZOM...原创 2019-10-17 22:27:14 · 321 阅读 · 0 评论 -
Linux开发——实战(三)后门木马程序
目录端口绑定命令: nc -lvp 6666木马:控制台程序端口绑定命令: nc -lvp 6666木马:#include "stdio.h"#include "string.h"#include "stdlib.h"#include "signal.h"#include "arpa/inet.h"#include "sys/types.h"#inclu...原创 2019-10-17 16:56:13 · 839 阅读 · 0 评论 -
Linux开发——原始套接字
基于原始套接字的协议SOFP ICMP STCP MPLS op-vpn GRE rip ARR DHCP PPPOE EIGRP VPN原始套接字内核实现socket sys_socketcall call SYS_SOCKET原始套接字目标1,...原创 2019-10-15 16:29:55 · 359 阅读 · 0 评论 -
Linux开发——实战(二)Fast-cp快速拷贝项目
上截图:拷贝1个G文件 用时4秒Fast-cp项目设计1,记录当前系统时间2,发起AIO读3,等待AIO读结束后调用回调函数,发起AIO写4,等待AIO写结束后调用回调函数,计算拷贝时间5,拷贝完成,显示拷贝时间文件操作1文件的状态2.文件属性3.文件类型4.文件权限核心IO模块辅助模块<sys/types.h>&...原创 2019-10-15 15:56:04 · 642 阅读 · 0 评论 -
Linux服务器开发实战——QT控制界面+epoll聊天服务
io复用文章:https://blog.youkuaiyun.com/qq_25490573/article/details/102457943部分函数:getpeername 根据句柄得到ip地址 struct sockaddr_storage addr; socklen_t len = sizeof(addr); ...原创 2019-10-14 22:03:57 · 2398 阅读 · 0 评论 -
Linux开发——AIO设计框架
同步阻塞io模型异步非阻塞io模型AIO编程方法对象 #include <aiocb.h> struct aiocb { /* The order of these fields is implementation-dependent */ int aio_fil...原创 2019-10-15 11:55:34 · 363 阅读 · 0 评论 -
Linux开发——Signal异步通知机制
目录目标:实战:Linux中的信号信号的基本操作相关函数信号集合操作未决信号目标: 如何发起异步操作(对本身发起,对其他进程发起) 如何安装信号 如何屏蔽和管理信息 如何利用信号进行阻塞操作实战: 信号驱动的服务器 电报机...原创 2019-10-14 21:58:04 · 302 阅读 · 0 评论 -
Linux开发——系统编程
目录exec函数族:fork创建新进程无名管道man 7 pipe:消息队列:信号:信号量:共享内存:套接字:线程用法:exec函数族:man 3 exec 说明 实例如下:– “l”和“v”表示参数是以列表还是以数组的方式提供的– “p”表示这个函数的第一个参数是*path,就是以绝对路径来提供程序的路径,也可以以当前目录作为目标...原创 2019-10-03 14:10:44 · 188 阅读 · 0 评论 -
Linux开发——Makefile基础和通用模板
目录前言c语言编译过程:gcc命令:debug宏定义快捷方法:MakefileMakefile多文件通用格式:前言cat /etc/*release 查看系统版本信息更新源文件 sudo gedit /etc/apt/sources.list安装ssh命令 sudo apt-get install opensshc语言编译过程: ...原创 2019-10-04 20:31:47 · 308 阅读 · 0 评论 -
Linux开发——GDB调试及常用命令
目录小记gdb调试命令多进程常用命令多线程常用命令linux程序发布流程反调试技术小记安装GDB插件gef gdb7.7以上才能用 且程序编译时 -g 才能用gdb调试#下载三个插件git clone https://github.com/gatieme/GdbPlugins.git ~/GdbPlugins对应启动命令:echo "...原创 2019-10-05 16:40:02 · 596 阅读 · 0 评论 -
Linux开发——实战(一)LinkList实现智能网关代理
目录懒人链接:需求分析链表实现:Http实现tcp实现懒人链接: 点我下载:https://download.youkuaiyun.com/download/qq_25490573/11834524需求分析1.实现LinkList双向链表2.链表管理3.加载数据库的项功能实现,嵌入式中智能网关网络代理程序 ...原创 2019-10-08 10:10:05 · 541 阅读 · 1 评论 -
Linux开发——文件管理,数据通信,io复用
目录基础IO复用机制 select机制:select服务端poll机制poll例子epoll基础基础setvbuff函数:设置id缓冲区 例:setvbuff(fp_src,buffer,_IOLBF,128);_IOFBF 全缓冲区: BUFSIZE ffliush 默认开启_I...原创 2019-10-11 20:51:02 · 536 阅读 · 0 评论