Linux
zhubo_1117
这个作者很懒,什么都没留下…
展开
-
linux启动时,忘记密码如何修改?
http://wenku.baidu.com/view/d33a9a1dfad6195f312ba6cb.html这个网址有详细的忘记密码,重新录入密码的过程。转载 2013-05-20 16:59:34 · 618 阅读 · 0 评论 -
O_EXCL的作用(原子操作)
O_EXCL的作用设想这样一个需求:某个任务要求只能单个进程执行,不能多个进程同时执行。但是不能确保多个进程同时启动,尝试执行这个任务。这样就进一步要求,只有第一个执行的进程可以继续,后续尝试执行的进程都报错退出。方案之一就是使用带有O_EXCL标志的open()尝试打开一个文件。第一个进程执行时文件并不存在,它能成功创建文件并继续执行。第二个及后续的其它进程会因为转载 2016-09-22 16:01:29 · 8802 阅读 · 0 评论 -
Linux下chkconfig命令详解
chkconfig命令主要用来更新(启动或停止)和查询系统服务的运行级信息。谨记chkconfig不是立即自动禁止或激活一个服务,它只是简单的改变了符号连接。使用语法:chkconfig [--add][--del][--list][系统服务] 或 chkconfig [--level ][系统服务][on/off/reset]chkconfig在没有参数运行时,显示用法。如果转载 2016-10-24 16:58:18 · 295 阅读 · 0 评论 -
GDB常用命令
GDB常用命令运行run(简写r): 运行程序,当遇到断点后,程序会在断点处停止运行,等待用户输入下一步的命令。 continue(简写c):继续执行,到下一个断点处(或运行结束) next(简写n): 单步跟踪程序,当遇到函数调用时,直接调用,不进入此函数体; step(简写s):单步调试如果有函数调用,则进入函数;与命令n不同,n是不进入调用的函数的 until:运转载 2016-09-29 11:06:32 · 319 阅读 · 0 评论 -
【Linux学习】epoll详解
什么是epollepoll是什么?按照man手册的说法:是为处理大批量句柄而作了改进的poll。当然,这不是2.6内核才有的,它是在2.5.44内核中被引进的(epoll(4) is a new API introduced in Linux kernel 2.5.44),它几乎具备了之前所说的一切优点,被公认为Linux2.6下性能最好的多路I/O就绪通知方法。 epol转载 2016-10-26 12:33:51 · 369 阅读 · 0 评论 -
shell编程之trap
trap可以使你在脚本中捕捉信号,该命令的一般形式为:trap name signal(s)其中,name是被捕捉到信号后所采取的一序列操作。实际生活中,name一般是一个专门用来处理所捕捉到的信号的函数。name需要用双引号引起来,signal就是待捕捉的信号。脚本在捕捉到一个信号后,通常会采取某些行动。最常见的动作包括:1)清除临时文件2)忽略该信号转载 2016-10-27 15:05:45 · 547 阅读 · 0 评论 -
认真分析mmap:是什么 为什么 怎么用
mmap基础概念mmap是一种内存映射文件的方法,即将一个文件或者其它对象映射到进程的地址空间,实现文件磁盘地址和进程虚拟地址空间中一段虚拟地址的一一对映关系。实现这样的映射关系后,进程就可以采用指针的方式读写操作这一段内存,而系统会自动回写脏页面到对应的文件磁盘上,即完成了对文件的操作而不必再调用read,write等系统调用函数。相反,内核空间对这段区域的修改也直接反映用户空间,从而可转载 2017-01-08 21:30:20 · 359 阅读 · 0 评论 -
Unix下C程序内存泄漏检测工具Valgrind安装与使用
Valgrind是一款用于内存调试、内存泄漏检测以及性能分析的软件开发工具。Valgrind的最初作者是Julian Seward,他于2006年由于在开发Valgrind上的工作获得了第二届Google-O'Reilly开源代码奖。Valgrind遵守GNU通用公共许可证条款,是一款自由软件。 官网http://www.valgrind.org 下载与安装转载 2017-03-01 15:00:10 · 638 阅读 · 0 评论 -
gettid和pthread_self区别
1 线程ID获取方法linux下获取线程有两种方法:1)gettid或者类似gettid的方法 2)直接调用pthread_self()gettid 获取的是内核中线程ID,而pthread_self 是posix描述的线程ID。通过执行man手册,我们也能发现他们的区别:SYNOPSIS #include pid_t gettid(vo转载 2017-03-05 11:32:19 · 1537 阅读 · 0 评论 -
《Linux多线程服务端编程》笔记——线程同步精要
并发编程基本模型message passing和shared memory。线程同步的四项原则尽量最低限度地共享对象,减少需要同步的场合。如果确实需要,优先考虑共享 immutable 对象。使用高级的并发编程构件,如TaskQueue、Producer-Consumer Queue、CountDownLatch等等。不得已必须使用底层同步原语(primitives)时,只用非递归转载 2017-03-05 22:20:49 · 571 阅读 · 0 评论 -
linux关于bashrc与profile的区别(转)
bashrc与profile的区别要搞清bashrc与profile的区别,首先要弄明白什么是交互式shell和非交互式shell,什么是login shell 和non-login shell。交互式模式就是shell等待你的输入,并且执行你提交的命令。这种模式被称作交互式是因为shell与用户进行交互。这种模式也是大多数用户非常熟悉的:登录、执行一些命令、签退。当你签退后,shell也转载 2017-02-27 13:56:00 · 263 阅读 · 0 评论 -
ldconfig与 /etc/ld.so.conf
现在我们知道了动态与静态函数库,也知道了当前的Linux大多是将函数库做成动态函数库,下面来讨论增加函数库读取性能的方法。我们知道,内存的访问速度是硬盘的好几倍,所以,如果将常用的动态函数库加载到内存中(高速缓存,cache),当软件套件要采用动态函数库时,就不需要重新从硬盘里读出,这样就可以提高动态函数库的读取速度。这个时候需要ldconfig与 /etc/ld.so.conf的帮助。将动态转载 2017-03-14 19:20:20 · 481 阅读 · 0 评论 -
ffmpeg如何给视频添加水印(watermark)
折腾了几天,问题倒是解决了。现在把相关命令行写下,做个记录:G:\TOOLS\ffmpeg-0.8-win32-bin>ffmpeg -i input.avi -vf "movie=logo.png [logo]; [in][logo] overlay=10:10 [out]" output.avi效果如下:input.avi截图:output.avi截图:可以看到转载 2016-09-07 18:07:04 · 4522 阅读 · 0 评论 -
dup 与 dup2
1. 文件描述符在内核中数据结构 一个进程在此存在期间,会有一些文件被打开,从而会返回一些文件描述符,从shell中运行一个进程,默认会有3个文件描述符存在(0、1、2),0与进程的标准输入相关联,1与进程的标准输出相关联,2与进程的标准错误输出相关联,一个进程当前有哪些打开的文件描述符可以通过/proc/进程ID/fd目录查看。 下图可以清转载 2016-09-05 18:08:00 · 393 阅读 · 0 评论 -
gcc/g++参数详解
内容目录:[介绍] gcc and g++分别是gnu的c & c++编译器 gcc/g++在执行编译工作的时候,总共需要4步 1.预处理,生成.i的文件[预处理器cpp] 2.将预处理后的文件不转换成汇编语言,生成文件.s[编译器egcs] 3.有汇编变为目标代码(机器代码)生成.o的文件[汇编器as] 4.连接目标代码,生成可执行程序[链接器ld]转载 2016-09-13 11:41:58 · 2238 阅读 · 0 评论 -
虚拟机下安装linux出现光盘2无法挂载时的解决办法
不是光盘镜像文件的问题。肯定是出在那个载入光盘镜像文件的地方了,重新选择了第二镜像文件后,点击确定,还是无法挂载;于是我再查看工具栏——VM——Removable Devices——CD/DVD(....)你会发现,有connect选项,点击connect,然后就可以继续挂载光盘了。转载 2013-05-22 16:45:08 · 1222 阅读 · 0 评论 -
虚拟机的linux系统设置NAT方式上网
虚拟机linux上网配置 图解教程2009-07-08 17:59虚拟机linux NAT方式上网图文详解虚拟机linux下NAT上网方式跟windows下是不一样的,windows系统只要直接选择NAT上网方式即可,不需要其它配置,而linux要想 用NAT方式上网需进行另外的设置。下面的图文教程,我觉得还是比较精典的,思路非常清晰,希望对转载 2013-05-23 13:47:03 · 2796 阅读 · 1 评论 -
VM上的LINUX虚拟机共享Windows文件夹
下面来说明一下是如何实现的:1.安装VMware.Workstation.2.安装Redhat Linux 9.0,在虚拟机下。3.完成前两步后,打开VMware->工具栏—>虚拟机->选择安装Vmware工具,进入在虚拟机中安装好的Linux环境(使用超级用户),这时光驱中已经出现了我们将要看装的软件:VMwareTools-5.5.0-18463.i368.rpm和转载 2013-05-23 11:15:36 · 669 阅读 · 0 评论 -
Linux GCC常用命令
1简介GCC 的意思也只是 GNU C Compiler 而已。经过了这么多年的发展,GCC 已经不仅仅能支持 C 语言;它现在还支持 Ada 语言、C++ 语言、Java 语言、Objective C 语言、Pascal 语言、COBOL语言,以及支持函数式编程和逻辑编程的 Mercury 语言,等等。而 GCC 也不再单只是 GNU C 语言编译器的意思了,而是变成了 GNU Co转载 2014-09-29 22:39:54 · 396 阅读 · 0 评论 -
type命令的用法
一般情况下,type命令被用于判断另外一个命令是否是内置命令,但是它实际上有更多的用法。 www.2cto.com 1.判断一个名字当前是否是alias、keyword、function、builtin、file或者什么都不是: type ls 的输出是 ls 是 `ls --color=auto' 的别名转载 2014-10-08 11:41:19 · 1930 阅读 · 0 评论 -
gdb在cygwin下的安装
出自:http://hi.baidu.com/mucenl/blog/item/f1b1f2386306a33796ddd873.html1、下载http://www.baisi.net/thread-3667-1-1.html中ReTurner.D提供的gdb压缩包,然后将gdb-20010428-3[1].tar.bz2的压缩包拷贝到C:\cygwin下。2转载 2015-05-14 22:52:24 · 2085 阅读 · 0 评论 -
GDB的基本用法
本文参考《Debug Hacks》一书所作 —— 每天进步一点点。一. 准备 通过 gcc 的 -g 选项生成调试信息。 $ gcc -Wall -O2 -g 源文件 -g选项可以使用仅可GDB使用的一些附加调试信息;这些附加信息可以使GDB工作的更好,但是也可能令其他调试器崩溃或者不能读该文件。二. GDB基本用法转载 2015-05-14 22:29:55 · 347 阅读 · 0 评论 -
Linux下chkconfig命令详解
chkconfig命令主要用来更新(启动或停止)和查询系统服务的运行级信息。谨记chkconfig不是立即自动禁止或激活一个服务,它只是简单的改变了符号连接。使用语法:chkconfig [--add][--del][--list][系统服务] 或 chkconfig [--level ][系统服务][on/off/reset]chkconfig在没有参数运行时,显示用法。如果转载 2016-05-04 16:40:39 · 254 阅读 · 0 评论 -
./configure,make,make install的作用
1、configure,这一步一般用来生成 Makefile,为下一步的编译做准备,你可以通过在 configure 后加上参数来对安装进行控制,比如代码:./configure –prefix=/usr 意思是将该软件安装在 /usr 下面,执行文件就会安装在 /usr/bin (而不是默认的 /usr/local/bin),资源文件就会安装在 /usr/share(而不是默认的/usr/l转载 2016-05-05 17:59:48 · 333 阅读 · 0 评论 -
linux进程通信(一)--共享内存--mmap()
二、mmap()及其相关系统调用mmap()系统调用使得进程之间通过映射同一个普通文件实现共享内存。普通文件被映射到进程地址空间后,进程可以向访问普通内存一样对文件进行访问,不必再调用read(),write()等操作。注:实际上,mmap()系统调用并不是完全为了用于共享内存而设计的。它本身提供了不同于一般对普通文件的访问方式,进程可以像读写内存一样对普通文件的操作。而Posix转载 2016-07-19 12:27:09 · 468 阅读 · 0 评论 -
/bin/sh^M: bad interpreter: No such file or directory 问题解决
转载于https://www.cnblogs.com/zyb-pp/p/6429448.html今天写了一个shell脚本,然后在执行的时候报错,脚本内容很简单,仅供测试:Shell代码 收藏代码#!/bin/shecho "test shell "具体报错信息如下:Shell代码 收藏代码[root@localhost test]# ./test.sh-bash: ./tes...转载 2019-09-18 09:34:58 · 962 阅读 · 0 评论