Linux 编程
文章平均质量分 94
BlueBirdssh
这个作者很懒,什么都没留下…
展开
-
linux 组播接收注意事项
服务器直播源会采用组播方式,服务器在接收组播的时候要注意一下两点:1、必须为接收组播的网卡配置组播路由,例如要在eth0网卡上接收239.10.10.100:5123的组播,则要添加组播路由239.10.10.0route -add net 239.10.10.0 netmask 255.255.255.0 dev eth02、要确保服务器防火墙是关闭的,查看防火墙状态 s...转载 2020-03-31 20:25:32 · 963 阅读 · 0 评论 -
看CentOS的版本
输入cat /proc/version 可以看1.在centos桌面右键“打开终端”。2.接着会弹出终端窗口。3.在里面输入“cat /etc/redhat-release”命令。4.回车后就可以输出centos系统的版本。5.使用“uname -a”命令可以查看内核版本等信息。...原创 2019-12-04 09:10:08 · 142 阅读 · 0 评论 -
POSIX 消息队列函数(mq_open、mq_getattr、mq_send、mq_receive)示例
https://blog.csdn.net/mayue_web/article/details/92712163转载 2019-11-23 17:35:03 · 733 阅读 · 0 评论 -
Linux 初始化之 Systemd机制
systemd是Linux下的一种init软件,由Lennart Poettering带头开发,其开发目标是提供更优秀的框架以表示系统服务间的依赖关系,并依此实现系统初始化时服务的并行启动,同时达到降低Shell的系统开销的效果,最终代替现在常用的System V与BSD风格init程序。传统sysvinit使用inittab来决定运行哪些shell脚本,大量使用shell脚本被认为是效率低下无法...转载 2019-11-22 20:27:14 · 269 阅读 · 0 评论 -
七牛云徐晶:低延迟互动时代看好WebRTC和SRT
文 / 徐晶策划 / LiveVideoStackLiveVideoStack:徐晶你好,能否向 LiveVideoStack 的读者介绍下自己,及目前的主要工作和关注的技术方向?徐晶:我在互联网视音频行业 9 年工作经验,3 年传统广电视音频经验。曾任阿里巴巴大文娱流媒体业务负责人,优酷直播品牌创始人,现为七牛云智慧教育行业产品负责人。我常年从事互联网流媒体相关工作,接触最底层的...转载 2019-11-22 09:06:33 · 930 阅读 · 0 评论 -
windows上搭建NFS服务器--haneWIN,Linux客户端挂载
windows上搭建NFS服务器--haneWIN,Linux客户端挂载https://blog.csdn.net/zhenglie110/article/details/84103300转载 2019-11-21 19:07:33 · 829 阅读 · 0 评论 -
关于线程同步与互斥
https://www.cnblogs.com/xuejiale/p/10822896.html线程之间通信的两个基本问题是互斥和同步。线程同步是指线程之间所具有的一种制约关系,一个线程的执行依赖另一个线程的消息,当它没有得到另一个线程的消息时应等待,直到消息到达时才被唤醒。 线程互斥是指对于共享的操作系统资源(指的是广义的”资源”,而不是Windows的.res文件,譬如全局变量...原创 2019-11-21 10:50:54 · 398 阅读 · 0 评论 -
Ubuntu 14 16 虚拟机安装
1.2G内存2.网卡桥接3.按照流程安装 3.1 English 3.2 area other ->Asia->china 选择字符集编码-United States 选择键盘类型-English (US)配置网络,因为内网没开DHCP ,暂时等装完系统在进行配置 磁盘分...原创 2019-11-16 10:04:37 · 272 阅读 · 0 评论 -
C++ 高性能服务器 网络库介绍
1.大型高并发,高性能2.异步IO3.均衡负载multi-reactor服务器模型的C++封装类(libevent+多线程实现)libevent:这是在网上找的资料,libevent并不是线程安全,但不代表其不支持多线程。memcache的网络部分使用libevent,有一个经典的图描述了其多线程实现:高性能、高并发TCP服务器(多线程调用libevent)ht...原创 2019-11-14 15:15:26 · 1740 阅读 · 0 评论 -
linux编程头文件所在路径的问题
一、问题引入1、头文件与库 当我们在PC主机linux环境下(如ubuntu),编写linux应用程序,然后利用gcc来编译。在源代码的开始位置会写入头文件,那是因为我们使用了系统提供的库函数,例如printf、open、read、write等等。我们会写入类似的内容:#include <stdio.h>#include <stdlib.h>#i...转载 2019-11-08 14:08:34 · 589 阅读 · 0 评论 -
Linux内核模块编写详解
内核编程常常看起来像是黑魔法,而在亚瑟 C 克拉克的眼中,它八成就是了。Linux内核和它的用户空间是大不相同的:抛开漫不经心,你必须小心翼翼,因为你编程中的一个bug就会影响到整个系统,本文给大家介绍linux内核模块编写,需要的朋友可以参考下内核编程常常看起来像是黑魔法,而在亚瑟 C 克拉克的眼中,它八成就是了。Linux内核和它的用户空间是大不相同的:抛开漫不经心,你必须小心翼翼,因为你...转载 2019-07-05 11:20:49 · 520 阅读 · 0 评论 -
#!/usr/bin/env bash和#!/usr/bin/bash的比较
原博文:stackoverflow:http://stackoverflow.com/questions/16365130/the-difference-between-usr-bin-env-bash-and-usr-bin-bash`#!/usr/bin/env bash` #lends you some flexibility on different systems...转载 2019-07-30 11:16:56 · 858 阅读 · 0 评论 -
sk_buff整理笔记 内核协议栈
https://blog.csdn.net/yuzhihui_no1/article/details/38666589TCP包头格式详解https://blog.csdn.net/xiongping_/article/details/47746953网络抓包用源码, 各个协议头解释https://blog.csdn.net/xiaopangzi313/article/deta...原创 2019-07-17 16:33:59 · 189 阅读 · 0 评论 -
Linux查看上可执行程序或运行进程的依赖 ldd
通过ldd 不断推导程序依赖的库, 依赖库的次依赖库,问题:我想知道当我调用一个特定的可执行文件在运行时载入了哪些共享库。是否有方法可以明确Linux上可执行程序或运行进程的共享库依赖关系?查看可执行程序的共享库依赖关系要找出某个特定可执行依赖的库,可以使用ldd命令。这个命令调用动态链接器去找到程序的库文件依赖关系。$ ldd/path/to/program...转载 2019-07-29 11:46:52 · 1578 阅读 · 0 评论 -
[Linux] ARM平台移植通常依赖的库
sudo apt-get install makesudo apt-get install gcc-arm-linux-gnueabi(按实际情况选择安装)sudo apt-get install g++sudo apt-get install unzipsudo apt-get install bcsudo apt-get install lib32ncurses5sudo apt-...转载 2019-07-29 11:46:02 · 413 阅读 · 0 评论 -
Ubuntu16.04安装Samba实现文件共享
1 安装sudoapt-getinstallsamba2 配置打开Samba配置文件:sudo gedit /etc/samba/smb.conf在其最后添加:[share]path = /home/gaojs/workvalid users = adminavailable = yesbrowseable = ...原创 2019-07-18 17:18:27 · 654 阅读 · 0 评论 -
openssh openssl升级编译,其他机器二进制升级
openssh 编译需要用到openssl 库和头文件。其他机器升级需安装openssl 库和可执行文件,安装是否正确可以 openssl verison看版本然后安装openssh 库和可执行文件, 可以 ssh -V 看版本升级后,其他用原版本 openssl库编译的 程序还需要用老的openssl 库,所需要保留老版本库路径 /usr/lib64新版本路径 /...原创 2019-07-11 23:50:21 · 494 阅读 · 0 评论 -
ubuntu安装/查看已安装包的方法
自己折腾ubuntu安装包来着, 发现一篇文章非常实用, 将apt-get和dpkg等命令的参数讲解非常全面. 于是转载过来. 中文的比英文的帮助看着还是顺手一点. 原文链接:http://www.cnblogs.com/forward/archive/2012/01/10/2318483.html说明:由于图形化界面方法(如Add/Remove… 和Synaptic Package Man...转载 2019-08-02 17:00:16 · 4240 阅读 · 0 评论 -
Linux下CURL设置请求超时时间
使用CURL时,有两个超时时间:一个是连接超时时间,另一个是数据传输的最大允许时间。连接超时时间用--connect-timeout参数来指定,数据传输的最大允许时间用-m参数来指定。例如:curl --connect-timeout 10 -m 20 "http://XXXXXXX"连接超时的话,出错提示形如:curl: (28) connect() timed out!...转载 2019-07-25 17:40:05 · 4372 阅读 · 0 评论 -
Ubuntu Server 环境安装 网络等
1.网卡先配置桥接,自动获取IP地址内存2G,硬盘80G2. 卸载自带vi, 装full 版 vim说明:ubuntu预装的是vim tiny版本,而需要的是vim full版本$sudo apt-get remove vim-common$sudo apt-get install vim3.配置网络1) 打开配置文件 sudovi/etc/network/i...原创 2019-05-30 15:02:57 · 393 阅读 · 0 评论 -
c/c++ 结构体赋初值的小技巧
1.CC++结构体的初始化今天看到项目中对自定义结构体初始化方式有点陌生,特在此罗列一下可用的结构体初始化的方式。对结构体 struct A { int b; int c; } 有几种初始化方式:第一种: struct A a = { .b = 1, .c = 2 }; 第二种:...转载 2019-08-07 10:41:09 · 6169 阅读 · 0 评论 -
从HTTP四种POST 提交数据方式,引申JSON与JSONP区别
HTTP协议是以ASCII码传输,建立在TCP/IP协议之上的应用层规范。规范把HTTP请求分为三个部分:状态行、请求头和请求主体。-状态行GET 请求报文示例:Host User-Agent Connection:keep-AlivePOST 请求报文示例HOST User-Agent Content-Type: application/x-www-form-urlen...原创 2019-08-02 10:30:37 · 459 阅读 · 0 评论 -
《影响力》读书笔记
前言作者:(美)罗伯特·B.西奥迪尼 (Robert B.Cialdini)毕业之后很少看书,每年能看3本已经很不错了。偶然的机会,我在我们公司图书借阅系统看到了这本书,就借来看了。看这本书之前,我以为这是一本想要成为一个优秀的人要具有哪些品格的书籍。但是后来看的时候却发现了这本书里的很多奥秘,是一本社会心理学,一些理论让人感到高深莫测,但是当看到小案例之后又让人觉得通俗易懂,让我受益匪浅!...转载 2019-08-01 11:10:23 · 299 阅读 · 0 评论 -
linux常用命令大全(linux基础命令入门到精通+实例讲解+持续更新+命令备忘录+面试复习)
前言本文特点 授之以渔:了解命令学习方法、用途:不再死记硬背,拒绝漫无目的; 准确无误:所有命令执行通过(环境为centos7),拒绝复制粘贴; 实用性高:命令多为实际工作中用到的,实例讲解,拒绝纯理论; 条理清晰:分类归纳,快速找到想要的命令,拒绝天马行空; 总结性强:只列常用语法,易错情况强调,拒绝照搬照套。 学前须知适用人群:开发、测...转载 2019-08-05 10:37:09 · 244 阅读 · 0 评论 -
入门学习Linux常用必会60个命令实例详解 Linux必学的60个命令
最近在项目中用到了Linux,然后自己只会那些简单的,发现头用的溜溜的,所以查了一下常用的命令,多查,多用。系统信息arch 显示机器的处理器架构(1)uname -m 显示机器的处理器架构(2)uname -r 显示正在使用的内核版本dmidecode -q 显示硬件系统部件 - (SMBIOS / DMI)hdparm -i /dev/hda 罗列一个磁盘的架构特性...转载 2019-08-05 10:34:04 · 502 阅读 · 0 评论 -
C++ 使用 curl 进行 http 请求(GET、POST、Download)的封装
CommonTools.h/* * CommonTools.h * * * */#include <iostream>#include <curl/curl.h>#include "zlib.h"#include <vector>#include <string>#include <unistd.h>...原创 2019-07-31 18:10:16 · 2497 阅读 · 1 评论 -
vim+cscope简易教程
Cscope具有纯正的Unix血统,它最早是由贝尔实验室为PDP-11计算机开发的,后来成为商用的AT&T Unix发行版的组成部分。直到2000年4月,这个工具才由SCO公司以BSD license开源发行。Cscope的主页在http://cscope.sourceforge.net/,如果你的计算机上没有cscope,你可以在此处下载它,在写本文时,它的最新版本是15.8b。ma...原创 2019-07-05 11:13:57 · 546 阅读 · 0 评论 -
vim中cscope工具安装与使用
简介:Cscope是类似于ctags一样的工具,但可以认为她是ctags的增强版,因为她比ctags能够做更多的事。在Vim中,通过cscope的查询,跳转到指定的地方就像跳转到任何标签;她能够保存标签栈,所以通过合适的键盘映射绑定,你能够在函数向后或向前跳转,就像通常使用的tags一样。1 安装yum -y install cscope 2 添加需要索引的文件(*.php,*....转载 2019-07-05 11:07:58 · 708 阅读 · 0 评论 -
一个C++ Makefile 的例子
Makefile不再编译已经编译过的未更新文件https://blog.csdn.net/Rong_Toa/article/details/88257998# g++ -std=c++17 -I /home/software/opencv/include/ cvimage.h cvtest.cpp -o cvddd -lopencv_core -lopencv_...原创 2019-07-09 17:27:28 · 251 阅读 · 0 评论 -
ubantu下安装zlib的方法
问题:在ubantu下安装zlib,尝试1:使用sudo apt-get install zliberr:E: 未发现软件包 zlib尝试2:使用wget http://www.zlib.net/zlib-1.2.3.tar.gz,下载下来再自己编译,安装err:已发出 HTTP 请求,正在等待回应... 404 Not Found2016-01-10 23:23:50 错误 4...原创 2019-05-31 18:01:15 · 1399 阅读 · 0 评论 -
解决:sudo: pip: command not found
1-问题:Ubuntu下执行sudo pip install package-name出现sudo: pip: command not found的问题。2-原因:编译sudo的时候加入了–with-secure-path 选项。3-解决:在环境配置文件里加一个alias(1) vi~/.bashrc...原创 2019-05-31 17:59:09 · 993 阅读 · 0 评论 -
Ubuntu 查询安装包的方法
1 前言在最近的安装JDK和库文件时出现提示需要安装库文件的情况,如下:frey@Frey:/mnt/e/topeet/Android_JDK$ sudo ./install-devel-packages.sh==> Executing: 'apt-get install git gnupg flex bison gperf build-essential zip curl libc...转载 2019-05-31 17:57:25 · 1077 阅读 · 0 评论 -
Ubuntu Server上禁止服务
在Ubuntu Server 15.10上,安装Mesos时,按照其文档说明,在禁止相关服务时采用在/etc/init目录添加相应.override的办法。如,禁止mesos-master、zookeeper这两个服务,就执行如下命令:sudo sh -c "echo manual > /etc/init/mesos-master.override"sudo sh -c "echo m...转载 2019-05-31 17:50:02 · 2708 阅读 · 0 评论 -
Linux(CentOS6.5)升级OpenSSL版本
问题:把SSL升级到OpenSSL 1.0.2h版本1.查看系统SSL版本信息命令:openssl versionOpenSSL 1.0.1e-fips 11 Feb 2013 2.下载需要更新的SSL版本命令:wget https://www.openssl.org/source/openssl-1.0.1h.tar.gz ...转载 2019-05-23 17:50:01 · 1790 阅读 · 2 评论 -
Ubuntu的build-essential有什么作用
Ubuntu缺省情况下,并没有提供C/C++的编译环境,因此还需要手动安装。但是如果单独安装gcc以及g++比较麻烦,幸运的是,Ubuntu提供了一个build-essential软件包。查看该软件包的依赖关系:y@ubuntu:~$ apt-cache depends build-essentialbuild-essential|Depends: libc6-dev Depend...转载 2019-05-30 15:05:12 · 447 阅读 · 0 评论 -
Linux shell中运行命令后加上字符“&”的作用
上午登录服务器编译运行服务端程序的时候,学到了在命令后加上字符“&”后,退出shell,运行的命令可以继续运行。不解原因,并到网上搜索了以下,明白了点!以下是搜索到的片段:& 放在启动参数后面表示设置此进程为后台进程默认情况下,进程是前台进程,这时就把Shell给占据了,我们无法进行其他操作,对于那些没有交互的进程,很多时候,我们希望将其在后台启动,可以在启动参数的时候...转载 2019-05-30 14:50:17 · 775 阅读 · 0 评论 -
linux 软连接【转】
这是linux中一个非常重要命令,请大家一定要熟悉。它的功能是为某一个文件在另外一个位置建立一个同不的链接,这个命令最常用的参数是-s,具体用法是:ln -s 源文件 目标文件。当 我们需要在不同的目录,用到相同的文件时,我们不需要在每一个需要的目录下都放一个必须相同的文件,我们只要在某个固定的目录,放上该文件,然后在其它的 目录下用ln命令链接(link)它就可以,不必重复的占用磁...原创 2019-05-24 18:08:27 · 339 阅读 · 0 评论 -
linux硬链接与软链接
Linux 系统中有软链接和硬链接两种特殊的“文件”。软链接可以看作是Windows中的快捷方式,可以让你快速链接到目标档案或目录。硬链接则透过文件系统的inode来产生新档名,而不是产生新档案。创建方法都很简单:软链接(符号链接) ln -s source target 硬链接 (实体链接)ln source targetinode要解释清楚两者的区...转载 2019-05-24 18:07:52 · 153 阅读 · 0 评论 -
内核模块中 读写文件
#include <linux/uaccess.h>#include <linux/init.h>#include <asm/fcntl.h>#include <asm/processor.h>#include <asm/uaccess.h>struct file* filp = NULL;mm_segment_t o...原创 2019-05-14 14:30:13 · 387 阅读 · 0 评论 -
kernel中文件的读写操作可以使用vfs_read()和vfs_write
需要在Linux kernel--大多是在需要调试的驱动程序--中读写文件数据。在kernel中操作文件没有标准库可用,需要利用kernel的一些函数,这些函数主要有: filp_open() filp_close(), vfs_read() vfs_write(),set_fs(),get_fs()等,这些函数在linux/fs.h和asm/uaccess.h头文件中声明。下面介绍主要步骤 ...转载 2019-05-14 14:23:56 · 1501 阅读 · 1 评论