linux
文章平均质量分 57
kph_Hajash
三年服务端(直播推拉流)经验、三年客户端(网络库基础组件)经验
展开
-
文件打开:open,出现 EACCES:permission denied
今天在 mac 上测试下载服务端的一个图片文件,发现之前能成功创建本地文件的代码,突然出现拒绝访问的错误,此时文件打开的代码如下:int fd = open("./test.jpg", O_RDWR|O_APPEND|O_CREAT);int errnum = errno;if(fd < 0) {LOG(ERROR) << "file ./test.jpg open failed, errno is: " << errnum << ", details:原创 2021-01-26 17:15:25 · 3523 阅读 · 0 评论 -
shell 脚本易错点记录
今天需要完成一个 nginx 服务的启停控制脚本,是服务可以一键完成启动、停止、重载等功能。完成脚本的过程中会遇到一些老朋友, 但许久不见再见面还是会感到陌生,因此记录一下以加深记忆。1. “[: =: unary operator expected”看下我这里出错的脚本行. /etc/sysconfig/network# Check that networking is up.[ ${NETWORKING} = "no" ] && exit 0这几行的目的是,source原创 2020-05-27 15:49:23 · 324 阅读 · 0 评论 -
执行命令时加 sudo 出现 error while loading shared libraries: cannot open shared object file
最近在为直播系统增加三方转推功能时, 发现服务在执行转推命令时出现错误:/usr/local/ffmpeg/3.1.2/bin/ffmpeg: error while loading shared libraries: liblenthevcenc.so: cannot open shared object file: No such file or directory当时登录物理机,执行上面的 ffmpeg 命令,并未有错,如图:但注意到我登录时执行的身份是普通用户, 而服务是以 sudo 方式原创 2020-05-11 14:09:55 · 2753 阅读 · 0 评论 -
在 jenkins 环境源码编译 nginx 时提示 PCRE not found
跟 jenkins 维护同事确认了 pcre 库已安装,但是仍然出现该错误,后 google 到可能是因为缺少 pcre-devel 库导致,安装 xxx-devel 会安装相应库的头文件目录,如果没有 pcre-devel 包,即使安装了 pcre 库也会提示找不到该库,后联系同事帮忙安装后,编译 nginx 成功。检查是否安装相应软件:rpm -qa | grep pcre参考链接...原创 2020-03-23 15:01:47 · 706 阅读 · 0 评论 -
在 VMware Fusion 11.5 的 ubuntu 1804 虚拟机中共享 mac 主机文件夹
1、依次选择 虚拟机 -> 共享,然后点击 “+” ,在弹出的窗口中选择 mac 下需要共享的目录即可,注意勾选 “启用共享文件夹”。 2、在 ubuntu1804 终端安装 open-vm-toolssudo apt updatesudo apt install open-vm-toolssudo vmhgfs-fuse .host:/ /mnt/hgfs此...原创 2019-12-26 14:05:18 · 2418 阅读 · 0 评论 -
Linux 命令汇总(持续增加中)
lsls --full-time查看文件具体的创建时间,精确到毫秒原创 2019-06-17 14:27:18 · 144 阅读 · 0 评论 -
Makefile 中 echo 与 @ 符
@ 在 Makefile 中有时会看到 echo 命令前添加了 “@” 符号:@echo &quot;hello&quot;它与不加 @ 符号的区别就是它不会把 “hello” 输出到终端(显示器)。 echo 明明就是用来输出内容的,那么 @ 是不是有点多余?这是因为有另一种需求存在,就是将 “hello” 输出到文件中(实际是需要写一个脚本文件)。@echo &quot;hello&quot; &amp原创 2018-07-13 20:57:33 · 5969 阅读 · 0 评论 -
linux NM 命令使用介绍
快速使用 nm -AU file | grep XXX -A 每行或者显示全路径名称或者显示对象库名。 -U 未定义符号。nm 用途介绍 nm命令被用于显示二进制目标文件的符号表。二进制目标文件包括:对象文件(.out)、可执行文件、静态库、动态库。什么时候需要用到 NM 命令(可以在什么场景下帮助我们什么地方?) 当我们编译或者运行程序,出现如下错误时,由于这个错误原...原创 2018-07-13 20:02:23 · 3688 阅读 · 0 评论 -
网络通信中 TCP 产生 RST 的三个条件分析
RST 是 TCP 发生错误时发送的一种 TCP 分节( segment:传输层的 PDU ),可用来异常的关闭一个连接,此时客户端会返回一个 ECONNREFUSED 错误。 它会在以下三种情况下产生:目的地为某个端口的 SYN 到达服务器,但并没有服务器在该端口监听。TCP 想取消一个已有连接,即异常地关闭连接。TCP 接收到一个根本不存在的连接上的分节。第一种情况可能有如下...原创 2018-06-16 17:43:41 · 5688 阅读 · 0 评论 -
无法进入在 Mac OS 上利用 VirtualBox 安装的 Ubuntu 虚拟机桌面系统
今天虚拟机的一个进程发生了异常,一直在写错误日志,导致虚拟机磁盘被写满,因此无法进入虚拟机的桌面系统,一直停留在下图所示界面。在此界面把下面四个键一起按下即可进入 Ubuntu 的终端界面: control + command + fn + f6windows 系统对应的键是 Ctrl + Alt [+Fn] + F6进入系统后把占满磁盘的文件删除即可重新进入桌面系统。...原创 2018-06-23 22:48:30 · 1594 阅读 · 0 评论 -
Ubuntu 18.04 源码安装 ffmpeg4.0-支持 ffplay
Ubuntu 安装 ffmpeg 比较简单。1. 安装 yasmsudo apt-get install yasm安装 yasm 的目的在于提高 ffmpeg 的编译速度, 可参考文章: https://www.jianshu.com/p/debda6cb2c1d2. 安装 SDL2sudo apt-get install libsdl1.2-dev --fix...原创 2018-06-01 11:49:07 · 3573 阅读 · 0 评论 -
解决 Ubuntu 1804 安装 php7.2 后出现未定义的 curl_init 错误
系统已安装 php7.2 在执行程序是发现 curl_init 函数未定义, 原因是 php 的 curl 模块并未安装。可按如下步骤解决:apt-cache search curl | grep php 查询curl的php支持名字,我电脑上返回结果如下:php-curl - CURL module for PHP [default]php7.2-curl - CURL ...原创 2018-06-21 10:24:41 · 1767 阅读 · 0 评论 -
c++开发中常见bug总结(不定期更新二)
由于之前的bug总结篇幅过长,考虑到翻页困难,因此重新开始一篇。8. cJSON指针为空的问题这是使用cjson的时候掉过两次坑的bug, 就是关于cJSON指针为空的问题,假设指向某个json键的指针为pJson,那么键为空需要分有两种情况,①这个键不存在,②这个键的值为空;第一种情况pJson为NULL,第二种情况则是pJson->type为NULL,对于字符串值,还有原创 2017-06-06 14:35:06 · 1420 阅读 · 0 评论 -
ubuntu 网络配置修改interface eth0 not configured
在ubuntu系统下取消eth0的ip地址:首先注释/etc/network/interfaces eth0的相关配置后重启网络:sudo /etc/init.d/networking restart再用ifconfig来查看网络配置,eth0的配置依旧存在,再用ifdown来试试看sudo ifdown eth0提示:ifd原创 2016-10-24 14:33:08 · 15935 阅读 · 0 评论