Linux
文章平均质量分 54
普通网友
这个作者很懒,什么都没留下…
展开
-
Linux中安装配置samba服务器
使用的centos6.5和物理机上的windows7,实现在windows7 上访问centos上的文件。1.使用yum安装Samba使用yum进行包的安装(可以解决包之间的依赖关系),当然也可以使用rpm的方式单个进行安装。在命令行输入:yum -y install samba samba-common samba-client2.查看samba是否安装成功在命令行输入:...原创 2018-03-17 19:48:53 · 2119 阅读 · 0 评论 -
可重入函数与不可重入函数
不可重入函数: ( a )已知它们使用静态数据结构 ( b )它们调用m a l l o c或f r e e ( c )它们是标准I / O函数。标准I / O库的很多实现都以不可重入方式使用全局数据结构。因为每个线程只有一个e r r n o变量,所以我们可能修改了其原先的值。考虑一个信号处理程序,它恰好在 m a i n刚设置e r r n o之后被调用。如果该信号处理程序调用r e a原创 2016-10-03 08:53:31 · 14402 阅读 · 0 评论 -
孤儿进程组
孤儿进程组(orphaned process group)定义为:该组中每个成员的父进程或者是该组的一个成员,或者不是该组所属对话期的成员。对孤儿进程组的另一种描述可以是:一个进程组不是孤儿进程组的条件是:该组中有一个进程,其父进程在属于同一对话期的另一个组中。如果进程组不是孤儿进程组,那么在属于同一对话期的另一个组中的父进程就有机会重新起动该组中停止的进程。原创 2016-10-02 20:49:22 · 14492 阅读 · 0 评论 -
进程组、会话、控制终端、作业
1、进程组 同一进程组的各个进程接收来自同一终端的各种信号,每个进程由唯一的进程组id,利用getpgrp()或者getpgid(pid)来获取进程组id,每个进程中有一个组长进程,组长进程的id就是进程组的id,只有进程组中有一个进程存在该进程组就不会消失,与进程组长存在与否无关。某个进程组中的最后一个进程可以终止,也可以参加另一个进程组。 int setpgid(pid_t p i d, p原创 2016-10-02 15:41:57 · 14614 阅读 · 0 评论 -
安装VMware Tools的方法
1.打开虚拟机,选择VM——>Install VMware Tools 2.此时桌面上会显示一个VMware Tools的光盘,该光盘在/media/VMware Tools目录下,把该目录下的VMwareTools-9.9.3-2759765.tar.gz文件拷贝到/tmp目录下 用tar xvzf VMwareTools-9.9.3-2759765.tar.gz命令解压文件,得原创 2016-10-26 17:36:29 · 22821 阅读 · 3 评论 -
Linux编程常用函数总结
1.打印日志函数#include <stdarg.h>#define SPIDER_LOG(level, format, ...) do{ \ if (level >= g_conf->log_level) {\ time_t now = time(NULL); \ char msg[MAX_MESG_LEN]; \ char buf[32];原创 2016-10-12 11:55:39 · 14541 阅读 · 0 评论 -
vmware中正在决定 eth0 的 IP 信息...失败;无链接。检查电缆吗?问题的解决方法
使用VMware虚拟机时,如果本来网络没有问题,后来突然出现:正在决定 eth0 的 IP 信息...失败;无链接。检查电缆吗?这时候可能是Windows与VMware之间的网络连接问题,打开控制面板——>管理工具——>服务,开启其中的VMware NAT Service和VMnetDHCP服务即可。有多套完整python,人工智能,机器学习,马哥最新Linux运维,老男孩Linux运...原创 2016-01-03 19:54:16 · 35138 阅读 · 2 评论 -
Linux中用ps命令查看进程状态
Linux上进程有5种状态: 1. 运行(正在运行或在运行队列中等待) 2. 中断(休眠中, 受阻, 在等待某个条件的形成或接受到信号) 3. 不可中断(收到信号不唤醒和不可运行, 进程必须等待直到有中断发生) 4. 僵死(进程已终止, 但进程描述符存在, 直到父进程调用wait4()系统调用后释放) 5. 停止(进程收到SIGSTOP, SIGSTP, SIGTIN, SIGT原创 2016-10-10 21:17:53 · 48517 阅读 · 1 评论 -
进程状态
三态模型:在多道程序系统中,进程在处理器上交替运行,状态也不断地发生变化。进程一般有3种基本状态:运行、就绪和阻塞。 (1)运行:当一个进程在处理机上运行时,则称该进程处于运行状态。处于此状态的进程的数目小于等于处理器的数目,对于单处理机系统,处于运行状态的进程只有一个。在没有其他进程可以执行时(如所有进程都在阻塞状态),通常会自动执行系统的空闲进程。 (2)就绪:当一个进程获得了除处理机以外的转载 2016-10-10 21:02:47 · 14379 阅读 · 0 评论 -
操作系统CPU上下文切换
在切换时,一个进程存储在处理器各寄存器中的中间数据叫做进程的上下文,所以进程的切换实质上就是被中止运行进程与待运行进程上下文的切换。在进程未占用处理器时,进程 的上下文是存储在进程的私有堆栈中的。 时间片对于CPU来说是很关键的参数,如果时间片太长,就会使系统的交互性能变差,用户感觉不到并行。如果太短,又会造成系统频繁的上下文切换,使性能 下降。对于IO Bound的系统来讲并不需要太长的时间片,原创 2016-10-10 20:16:01 · 16412 阅读 · 0 评论 -
Linux core文件
1.core文件的生成开关和大小限制1)使用ulimit -c命令可查看core文件的生成开关。若结果为0,则表示关闭了此功能,不会生成core文件。 2)使用ulimit -c filesize命令,可以限制core文件的大小(filesize的单位为kbyte)。若ulimit -c unlimited,则表示core文件的大小不受限制。如果生成的信息超过此大小,将会被裁剪,最终生成一个不完整原创 2016-10-03 10:39:19 · 14573 阅读 · 0 评论 -
Ubuntu中安装vim插件
1、安装ctags执行命令:sudo apt-get install exuberant-ctags安装ctags 进入/usr/share/vim/vim74目录中执行:sudo ctags -R即可生成tags文件。 在~/.vimrc中添加一句set tags=/usr/share/vim/vim74/tags原创 2016-10-26 21:25:22 · 15718 阅读 · 0 评论 -
SVN使用方法
1、将文件checkout到本地目录 svn checkout path(path是服务器 上的目录) 例如:svn checkout svn://192.168.1.1/pro/domain 简写:svn co2、往版本库中添加新的文件 svn add file 例如:svn add test.php(添加test.php) svn add *.php(添加当前目录下所有的php文原创 2016-11-09 15:28:55 · 6742 阅读 · 0 评论 -
GCC技术参考大全
转自:http://blog.chinaunix.net/uid-553033-id-119977.htmlGCC Section: GNU Tools (1) Updated: 2003/12/05 Index Return to Main Contents NAME gcc,g++-GNU工程的C和C++编译器(egcs-1.1.2) 总览(SYNOPSIS)转载 2017-02-24 10:56:31 · 1858 阅读 · 0 评论 -
ubuntu使用技巧
ubuntu有以下方式切换到root身份。sudo+命令,输入当前用户密码后以root权限执行命令,有时间限制且仅限当前命令。sudo -i,输入当前用户密码后以root权限登录shell,无时间限制。使用exit或logout退出。su,输入root账户的密码后切换到root身份,无时间限制。su 用户名切换回其它用户。sudo s原创 2016-07-24 10:09:22 · 14211 阅读 · 0 评论 -
最全的常用正则表达式大全
原文:http://www.cnblogs.com/zxin/archive/2013/01/26/2877765.html很多不太懂正则的朋友,在遇到需要用正则校验数据时,往往是在网上去找很久,结果找来的还是不很符合要求。所以我最近把开发中常用的一些正则表达式整理了一下,在这里分享一下。给自己留个底,也给朋友们做个参考。一、校验数字的表达式 1 数字:^[0-9]*$转载 2016-11-26 16:12:24 · 518 阅读 · 0 评论 -
Linux记录锁
记录锁的功能是:当一个进程正在读或者修改文件的某一个部分时,它可以阻止其他进程修改同一文件区。记录锁其实是 字节范围锁,因为它锁定的只是文件中的一个区域,也可能是整个文件。1.fcntl记录锁SVR3通过fcntl函数增加了记录锁功能。fcntl函数的原型已经在以前给出,这边再重复一次。#include<fcntl.h> int fcntl(int filedes, int cmd, .../原创 2016-10-08 15:33:59 · 14656 阅读 · 0 评论 -
Linux数据类型总结
sig_atomic_t 这个类型是定义在signal.h文件中。 当把变量声明为该类型会保证该变量在使用或赋值时, 无论是在32位还是64位的机器上都能保证操作是原子的, 它会根据机器的类型自动适应。在处理信号(signal)的时候,有时对于一些变量的访问希望不会被中断,无论是硬件中断还是软件中断,这就要求访问或改变这些变量需要在计算机的一条指令内完成。通常情况下,int类型的变量通常是原子访原创 2016-10-04 10:22:44 · 14708 阅读 · 0 评论 -
alarm和pause函数
#include <unistd.h > unsigned int alarm(unsigned int seconds) ; 返回: 0或以前设置的闹钟时间的余留秒数 每个进程只能有一个闹钟时间。如果在调用 alarm时,以前已为该进程设置过闹钟时间,而且它还没有超时,则该闹钟时间的余留值作为本次 alarm函数调用的值返回。以前登记的闹钟时间则被新值代换。 如果有以前登记的尚未超过的闹钟原创 2016-10-05 10:30:34 · 28889 阅读 · 0 评论 -
ubuntu中安装lua5.3
下载最新的lua5.3.1的tar包,下载地址:http://www.lua.org/ftp/,把下载的文件放到/usr/local/src/目录下。 然后输入以下命令:tar zxf lua-5.3.1.tar.gzcd lua-5.3.1make linux test则会自动安装好Lua解释文件,你会在src文件夹下发现多了几个文件。安装过程中可能会报错,没有readline什么的。解决办原创 2016-10-27 21:19:16 · 11356 阅读 · 1 评论 -
Linux信号总结
SIGTSTP与SIGSTOP都是使进程暂停(都使用SIGCONT让进程重新激活)。唯一的区别是SIGSTOP不可以捕获。 捕捉SIGTSTP后一般处理如下: 1)处理完额外的事 2)恢复默认处理 3)发送SIGTSTP信号给自己(使进程进入suspend状态)原创 2016-10-02 21:11:52 · 14477 阅读 · 0 评论 -
多进程和多线程的应用场景
关于多进程和多线程,教科书上最经典的一句话是“进程是资源分配的最小单位,线程是CPU调度的最小单位”,这句话应付考试基本上够了,但如果在工作中遇到类似的选择问题,那就没有这么简单了,选的不好,会让你深受其害。经常在网络上看到有的XDJM问“多进程好还是多线程好?”、“Linux下用多进程还是多线程?”等等期望一劳永逸的问题,我只能说:没有最好,只有更好。根据实际情况来判断,哪个更加合适就是哪个转载 2016-10-09 19:09:56 · 20982 阅读 · 0 评论 -
linux中mysql的安装
0 oracle官网上下载的mysql有以下几个rpm包1 查询服务器上已经安装的mysqlrpm -aq | grep mysql mysql-5.0.77-3.el5 mysql-server-5.0.77-3.el5 libdbi-dbd-mysql-0.8.1a-1.2.2 mysql-connector-odbc-3.51.26r1127-1.el5原创 2016-08-11 17:41:54 · 28809 阅读 · 0 评论 -
使用 vim + ctags + cscope + taglist 阅读源码
http://my.oschina.net/u/554995/blog/59927最近,准备跟学长一起往 linux kernel 的门里瞧瞧里面的世界,虽然我们知道门就在那,但我们还得找到合适的角度才会看得更舒服,对吧^_^ 。 阅读源码的工具有很多,而且如今的集成开发环境(IDE)也很强大,但对于经常使用vim编辑器的程序员来说,对vim的强大绝对是“不抛弃,不放弃”的转载 2016-07-20 23:46:40 · 14686 阅读 · 0 评论 -
解决Linux中/etc/resolv.conf文件总是自动改回的问题
修改/etc/sysconfig/network-scripts/ifcfig-eth0文件,添加一句PEERDNS=yes即可。原创 2016-01-29 18:51:59 · 21087 阅读 · 1 评论 -
Linux命令行中!的用法
原文:http://www.linuxidc.com/Linux/2015-05/117774.htmLinux 系统中,“!” 符号或者操作符通常被用做逻辑否定的操作符,同时也通过一些调整和改动命令来从历史记录中找出你需要的命令行。下面演示的命令行在bash Shell中都已经明确检查过可用了。不过我没有在其他的 Shell 解释器下测试过,不过我相信这些命令也不会在其他的解释器下运转载 2016-01-28 23:57:03 · 14634 阅读 · 0 评论 -
编译内核步骤
编译内核:(1)把内核文件解压到/usr/src/kernels/目录下。(2)进入linux-2.6.30.3目录下,执行命令make mrproper删除原来的目标文件和配置文件(第一次编译时执行这个命令,以后再编译时执行make clean就行了)。(3)在linux-2.6.30.3目录中,执行命令make menuconfig。(4)开始设置选项。(若为 [*] 则原创 2016-01-16 18:18:22 · 14478 阅读 · 0 评论 -
每天一个linux命令(3):pwd命令
原文:http://www.cnblogs.com/peida/archive/2012/10/24/2737730.htmlLinux中用 pwd 命令来查看”当前工作目录“的完整路径。 简单得说,每当你在终端进行操作时,你都会有一个当前工作目录。 在不太确定当前位置时,就会使用pwd来判定当前目录在文件系统内的确切位置。1.命令格式:pwd [选项]转载 2016-01-19 17:11:07 · 14179 阅读 · 0 评论 -
RHEL yum: Unable to read consumer identity
修改两个文件: vim /etc/yum/pluginconf.d/product-id.conf vim /etc/yum/pluginconf.d/subscription-manager.conf [main] enabled=0 #这里由1改为0保存并退出,执行命令如下命令,清空缓存:yum clean all原创 2016-01-22 15:48:34 · 33425 阅读 · 3 评论 -
RedHat Enterprise Linux6.4 使用CentOS yum源
[admin@server1 ~]$ uname -a Linux server1 2.6.32-358.el6.x86_64 #1 SMP Tue Jan 29 11:47:41 EST 2013 x86_64 x86_64 x86_64 GNU/Linux 原文:http://blog.csdn.net/zhngjan/article/details/20843465在转载 2016-01-23 16:26:02 · 14444 阅读 · 0 评论 -
Linux操作系统内核启动参数详细解析
原文:http://blog.csdn.net/zhongyou2009/article/details/4764986Linux内核在启动的时候,能接收某些命令行选项或启动时参数。当内核不能识别某些硬件进而不能设置硬件参数或者为了避免内核更改某些参数的值,可以通过这种方式手动将这些参数传递给内核。 如果不使用启动管理器,比如直接从BIOS或者把内核文件用“cp zImage /dev/f转载 2016-01-16 16:24:01 · 14436 阅读 · 0 评论 -
Linux下如果你的网络设定妥当了,但是却老是发现网络不通,应该如何进行测试?
(1)先检查硬件,每个环节 (网卡、 hub/switch、路由器等) 的灯号是否有亮?有亮再进行下个动作;(2)使用 ifconfig 检查 IP 与 netmask 的数据是否正确,若正确才可进行下一步;(3)使用 route 看看 default gateway 是否正确,若正确再进行下一步;(4)使用 ping -c 3 [gateway IP] ,若有响应才进行下一步;(原创 2016-01-03 21:20:05 · 16886 阅读 · 0 评论 -
linux-C编程-文件操作
1,linux文件操作1.1 系统调用系统调用发生在内核空间,因此如果在用户空间的一般应用程序中使用系统调用来进行文件操作,会有用户空间到内核空间切换的开销。但通过系统调用来访问文件是最直接的方式。系统调用函数直接作用于操作系统内核的设备驱动程序从而实现文件访问。文件描述符fd是一个非负整型值,每新打开一个文件,所获得的fd为当前最大fd加1。Linux系统默认分配了3个文件描述符转载 2016-07-21 00:41:11 · 28812 阅读 · 0 评论 -
VIM:打造LINUX程序员的编辑利器(CTAGS+CSCOPE+TAGLIST+CODE_COMPLETE)
http://smilejay.com/2012/10/vim-for-linux-programmer/在2年前,写过一篇文章“Vim:打造Linux C/C++程序员的编辑器”,先在根据这两年的Vim使用经验对其进行一些补充和完善,以便在使用Vim时(偶尔忘记配置或快捷键)作为参考。经过适当的配置,配合一些快捷键,VIM会成为Linux上一个代码阅读、编辑的强大工具。转载 2016-07-20 23:45:44 · 15569 阅读 · 0 评论 -
Linux下rar 命令压缩和解压详解
例1:添加文件或目录到压缩档案中,使用a命令。例如把文件files1添加到abc.rar中,使用a或m命令,a命令把file1文件添加到abc.rar档案中保持原有的file1文件不变,m命令移动file1文件到file1.rar档案中(压缩完成后会删除原有的file1文件,注意:m命令只针对文件进行操作) $rar a abc.rar file1说明:如果此时abc.rar档案不存在,会自行创建转载 2016-09-11 19:29:45 · 15406 阅读 · 0 评论 -
Linux下chkconfig命令详解
chkconfig命令主要用来更新(启动或停止)和查询系统服务的运行级信息。谨记chkconfig不是立即自动禁止或激活一个服务,它只是简单的改变了符号连接。使用语法:chkconfig [--add][--del][--list][系统服务] 或 chkconfig [--level ][系统服务][on/off/reset]chkconfig在没有参数运行时,显示用法。如果原创 2016-02-21 23:59:39 · 14112 阅读 · 0 评论 -
Linux中如何添加自己的路径到PATH
要把/etc/apache/bin目录添加到PATH中,方法有三:1.#PATH=$PATH:/etc/apache/bin 使用这种方法,只对当前会话有效,也就是说每当登出或注销系统以后,PATH 设置就会失效2.#vi /etc/profile 在适当位置添加 PATH=$PATH:/etc/apache/bin (注意:= 即等号两边不能有原创 2016-02-22 00:18:12 · 33835 阅读 · 0 评论 -
进程和线程关系及区别
原文:http://blog.csdn.net/yaosiming2011/article/details/442807971.定义进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,进程是系统进行资源分配和调度的一个独立单位.线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位.线程自己基本上不拥有系统资源,只拥有一点转载 2016-02-25 10:31:01 · 14162 阅读 · 0 评论 -
几种TCP连接中出现RST的情况
在TCP协议中RST表示复位,用来异常的关闭连接,在TCP的设计中它是不可或缺的。发送RST包关闭连接时,不必等缓冲区的包都发出去,直接就丢弃缓存区的包发送RST包。而接收端收到RST包后,也不必发送ACK包来确认。其实在网络编程过程中,各种RST错误其实是比较难排查和找到原因的。下面我列出几种会出现RST的情况。1 端口未打开服务器程序端口未打开而客户端来连接。这转载 2016-02-25 23:16:22 · 7351 阅读 · 0 评论 -
TCPdump抓包命令详解
http://starsliao.blog.163.com/blog/static/89048201062333032563/TCPdump抓包命令 tcpdump是一个用于截取网络分组,并输出分组内容的工具。tcpdump凭借强大的功能和灵活的截取策略,使其成为类UNIX系统下用于网络分析和问题排查的首选工具。 tcpdump提供了源代码,公开了接口,因此具备很强的可扩展性,转载 2016-02-27 16:58:14 · 14478 阅读 · 0 评论