Linux
KgdYsg
这个作者很懒,什么都没留下…
展开
-
Redhat 设置北京时间
Redhat 设置北京时间查看当前时间修改时区修改时间查看当前时间[wuxt@localhost ~]$ dateTue Aug 4 18:57:43 PDT 2020使用 date 命令可以看到当前是 PDT 时间,PDT 即(Pacific Daylight Time)太平洋夏季时间。修改时区[wuxt@localhost etc]$ suPassword:[root@localhost etc]# cp /usr/share/zoneinfo/Asia/Shanghai /et原创 2020-08-05 02:12:06 · 1487 阅读 · 1 评论 -
Linux socket 缓冲区大小
在 redhat 查看 socket 缓冲区大小系统版本tcp 收发缓冲区大小tcp/udp 收发缓冲区最大值)系统版本redhat 版本 6.5[wuxt@localhost ~]$ cat /etc/redhat-release Red Hat Enterprise LinuxServer release 6.5 (Santiago)tcp 收发缓冲区大小[wuxt@localhost ~]$ cat /proc/sys/net/ipv4/tcp_rmem4096 873原创 2020-07-23 09:38:31 · 730 阅读 · 0 评论 -
Linux crontab 使用粗解
本文使用操作系统环境:[wuxt@bogon script]$ cat /etc/redhat-release Red Hat Enterprise LinuxServer release 6.5 (Santiago)文章目录:Linux crontab 使用粗解0 查看所有用户下的定时任务1 Linux 下定时执行任务2 cron 配置文件3 cron 权限4 cron 秒级执行5 gocron 介绍0 查看所有用户下的定时任务1 Linux 下定时执行任务2 cron 配置文件3原创 2020-05-18 06:42:52 · 981 阅读 · 0 评论 -
Linux基础——gcc 编译、静态库与动态库(共享库)
gcc 编译器1、gcc 工作流程2、gcc常用参数参数用途-v查看版本-o产生目标文件-I+目录指定头文件目录-D编译时定义宏-00/-01/-03没有优化/缺省值/优化级别最高-Wall提示更多警告信息-c只编译子程序-E生成预处理文件-g包含调试信息静态库1、静态库的命名格式lib + 库...转载 2020-03-04 19:19:10 · 289 阅读 · 0 评论 -
vim tab 设置为四个空格
在家目录(root 用户为 /root;其它用户为 /home/userName/)下可以找到一个 .vimrc 的文件打开此文件输入set ts=4set expandtab保存并退出,重启 vim 可以看到,原来的 tab 已经变成了四个空格。对于已经打开的文件,可以用以下方法:1 将 TAB 转为空格:set ts=4:set expandtab:%retab!2 将...原创 2020-01-07 17:33:59 · 395 阅读 · 0 评论 -
/etc/profile 文件粗解
打开 /etc/profile 文件会有一段注释:System wide environment and startup programs, for login setupFunctions and aliases go in /etc/bashrcIt’s NOt a good idea to change this file unless you know what you are do...原创 2019-12-24 20:15:02 · 331 阅读 · 0 评论 -
修改 rc.local 重启未生效的问题
ll /etc/rc.local发现这是个软链接指向 /etc/rc.d/rc.localll /etc/rc.d/rc.local发现此脚本没有加执行权限chmod +x /etc/rc.d/rc.local 即可原创 2019-12-02 19:54:37 · 1943 阅读 · 0 评论 -
linux 网卡对应网口查看方式
执行ethtool -p 网口名对应的网口灯就会闪烁。最好在不插网线的时候执行此命令,比较清晰原创 2019-11-27 11:18:04 · 1870 阅读 · 0 评论 -
共享内存—shmget参数shmflg详解—IPC_CREAT、IPC_EXCL、0666(对内存的读写执行权限)
int shmget(key_t key, size_t size, int flag);key: 标识符的规则size: 共享存储段的字节数flag: 读写的权限还有IPC_CREAT或IPC_EXCL对应文件的O_CREAT或O_EXCL返回值: 成功返回共享存储的id,失败返回-11 key_t keykey标识共享内存的键值: 0/IPC_PRIVAT...转载 2019-03-07 15:09:13 · 2162 阅读 · 0 评论 -
linux信号含义
SIGHUP终止进程终端线路挂断SIGINT终止进程中断进程SIGQUIT建立CORE文件终止进程生成core文件SIGILL建立CORE文件非法指令SIGTRAP建立CORE文件跟踪自陷SIGBUS建立CORE文件总线错误SIGSEGV建立CORE文件段非法错误SIGFPE建立CORE文件浮点异常...转载 2019-04-10 20:08:57 · 151 阅读 · 0 评论 -
unlink函数 与 remove函数
1. 查看 unlink 在帮助手册中的说明:unlink() deletes a name from the filesystem. If that name was the last link to a file and no processes have the file open the file is deleted and the space it was using is mad...转载 2019-04-12 15:12:28 · 639 阅读 · 0 评论 -
grep命令
grep(global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。1 选项-a 不要忽略二进制数据。-A<显示列数> 除了显示符合范本样式的那一行之外,并显示该行之后的内容。-b 在显示符合范本样式的那一...转载 2019-03-06 21:16:36 · 118 阅读 · 0 评论 -
/usr/lib64/libssl.so.10: no version information anailable
运行某程序,发现报错,ldd 看了下依赖的库有哪些,其中报:/usr/lib64/libssl.so.10: no version information anailable也就是这个 libssl.so.10 找不到适合的版本。回想一下我做了什么?编译了一个动态库,放到 /usr/project/bin 目录下,为了让我的程序能用上这个动态库,得打开 /etc/ld.so.conf,把 /...原创 2019-03-06 20:29:17 · 1491 阅读 · 0 评论 -
ipcrm命令
ipcrm命令用来删除一个或更多的消息队列、信号量集或者共享内存标识。语法ipcrm [ -m SharedMemoryID ] [ -M SharedMemoryKey ] [ -q MessageID ] [ -Q MessageKey ] [ -s SemaphoreID ] [ -S SemaphoreKey ]选项-m SharedMemory id 删除共享内存标识 Sh...转载 2019-03-08 20:11:23 · 536 阅读 · 0 评论 -
Linux服务器编程之:link()函数,ln命令,symlink,readlink,案例说明
1 link()依赖头文件#include<unistd.h>2函数定义int link(const char *oldpath,const char *newpath);函数说明:link() creates a new link (also known as a hard link) to an existing file.翻译:link()函数为...转载 2019-02-20 21:34:40 · 663 阅读 · 0 评论 -
Linux 下获取当前程序运行的绝对路径
int get_module_path(string module_path){ char processdir[128] = {0}; char *pPath_end = NULL; if( readlink( "/proc/self/exe", processdir, sizeof(processdir)) &gt; 0) { path_end = strrchr( proc...原创 2019-02-18 21:42:45 · 1245 阅读 · 0 评论 -
Linux /etc/services文件的作用
1)作用/etc/services文件是记录网络服务名和它们对应使用的端口号及协议。2)格式文件中的每一行对应一种服务,它由4个字段组成,中间用TAB或空格分隔,分别表示“服务名称”、“使用端口”、“协议名称”以及“别名”。服务名 “tab” 端口号/协议名 “tab” 别名kermit 1649/udpl2tp ...转载 2018-12-03 20:22:13 · 1662 阅读 · 0 评论 -
SIGTERM、SIGKILL、SIGINT和SIGQUIT的区别
SIGQUIT:在POSIX兼容的平台,SIGQUIT是其控制终端发送到进程,当用户请求的过程中执行核心转储的信号。 SIGQUIT通常可以ctrl+ \。在Linux上,人们还可以使用Ctrl-4或虚拟控制台,SysRq yek。SIGTERM:SIGTERM是杀或的killall命令发送到进程默认的信号。它会导致一过程的终止,但是SIGKILL信号不同,它可以被捕获和解释(或忽略...转载 2019-04-11 10:44:13 · 1046 阅读 · 0 评论 -
Linux下忽略信号SIGPIPE的方法
为了客户端进程收到SIGPIPE不退出,我打算忽略该信号,下面是我用过的方法:(1)间接忽略static void SignalHandler(int nSigno){ signal(nSigno, SignalHandler); switch(nSigno) { case SIGPIPE: printf("Process will not e...转载 2019-04-12 11:32:38 · 797 阅读 · 0 评论 -
Linux C/C++ include“”环境变量
C_INCLUDE_PATH CPLUS_INCLUDE_PATH但其实用makefile更合适 这两个环境变量加了路径,编译的时候不一定能找到头文件原创 2017-12-04 08:56:04 · 2718 阅读 · 0 评论 -
解决telnet无法连接(Connection refused)
telnet命令使用示例telnet [-8acdEfFKLrx][-b<主机别名>][-e<脱离字符>][-k<域名>][-l<用户名称>][-n<记录文件>][-S<服务类型>][-X<认证形态>][主机名称或IP地址<通信端口>]-8 允许使用8位字符资料,包括输入与输出-a 尝试自动...转载 2019-06-03 19:59:33 · 74888 阅读 · 5 评论 -
Linux共享内存使用常见陷阱与分析
所谓共享内存就是使得多个进程可以访问同一块内存空间,是最快的可用IPC形式。是针对其他通信机制运行效率较低而设计的。往往与其它通信机制,如信号量结合使用,来达到进程间的同步及互斥。其他进程能把同一段共享内存段“连接到”他们自己的地址空间里去。所有进程都能访问共享内存中的地址。如果一个进程向这段共享内存写了数据,所做的改动会即时被有访问同一段共享内存的其他进程看到。共享内存的使用大大降低了在大规模数...转载 2019-05-27 16:11:24 · 413 阅读 · 0 评论 -
linux select函数详解
在Linux中,我们可以使用select函数实现 I/O 端口的复用,传递给 select函数的参数会告诉内核:我们所关心的文件描述符对每个描述符,我们所关心的状态。(我们是要想从一个文件描述符中读或者写,还是关注一个描述符中是否出现异常)我们要等待多长时间。(我们可以等待无限长的时间,等待固定的一段时间,或者根本就不等待)从 select函数返回后,内核告诉我们一下信息:对我们的...转载 2019-05-15 21:06:19 · 251 阅读 · 0 评论 -
父进程为1号进程(ppid=1)的僵尸进程处理和分析
在做稳定性测试时,发现某进程日志停了,也没有退出日志,也没有别的,就一顿操作,然后把进程搞成了僵尸进程 defunct 。试着 kill 9 ppid 。僵尸进程的父进程变成了1,但是僵尸进程还存在。搜了下,找到这篇文章《父进程为1号进程(ppid=1)的僵尸进程处理和分析》那当出现父进程为1号进程的僵尸进程时,需要分析时,可以考虑上面几种情况;1、查看下当前这个僵尸进程是否被其他进程使用...原创 2019-04-24 21:32:11 · 27025 阅读 · 10 评论 -
Linux下查看进程打开的文件句柄数
查看系统默认的最大文件句柄数,系统默认是1024#ulimit -n1024查看当前进程打开了多少句柄数#lsof -n|awk ‘{print $2}’|sort|uniq -c|sort -nr|more131 24204 57 24244 57 24231 …其中第一列是打开的句柄数,第二列是进程ID。可以根据ID号来查看进程名。#ps aef|grep 24204...转载 2019-04-19 20:06:51 · 2690 阅读 · 0 评论 -
fopen函数失败原因分析以及分析原因的方法
程序发现 fopen 函数失败了,但找不到原因,在网上搜了下,找到一篇文章,发现了问题所在。因为写的是测试程序,没有注意 fopen 后没有及时 fclose 。所以一开始的时候,程序都没有报错,最后打开了几千个文件句柄才发现一直打不开文件了。使用 ulimit -n 可以查看当前系统中打开文件句柄的最大值,我这设置的是 4096。(对每个用户而言)使用 lsof 命令可以查看,第一列是 c...原创 2019-04-26 17:23:59 · 7584 阅读 · 0 评论 -
ftok()函数深度解析
关于ftok函数,先不去了解它的作用来先说说为什么要用它,共享内存,消息队列,信号量它们三个都是找一个中间介质,来进行通信的,这种介质多的是。就是怎么区分出来,就像唯一一个身份证来区分人一样。你随便来一个就行,就是因为这。只要唯一就行,就想起来了文件的设备编号和节点,它是唯一的,但是直接用它来作识别好像不太好,不过可以用它来产生一个号。ftok()就出场了。ftok函数具体形式如下:*key_t...转载 2019-04-15 19:30:24 · 1521 阅读 · 2 评论 -
Linux防火墙未关闭踩的坑—— No route to host
网络服务很多时候和Linux防火墙都有着很多的关系,经常因为没有关闭Linux防火墙而导致一些奇葩问题的出现。现有两台服务器 S1 和 S2,在 S1 上部署程序 P1,在 S2 上部署 P2,发现 P1,P2 连接报错,日志只有很简单的 connect S2_IP fail!试了下在 S1 上部署 P1,P2。能直接连接上。最后为了找到问题,又找了个服务器 S3,在 S3 上同时部署 P1...原创 2018-11-27 16:01:01 · 38812 阅读 · 0 评论 -
linux下目录被其它用户移动的情况
想一下如果现在自己的目录是在/usr/project/demo/ 下如果此时另外一个root用户执行了mv /usr/project/demo/ /usr/project/history/自己还是在/demo这个目录下的时候,执行cd …那应该是回到/usr/project/下还是到了/usr/project/history/呢?答案是/usr/project/history因为...原创 2018-11-20 16:16:09 · 287 阅读 · 0 评论 -
Broken pipe错误终极解释
转自:Broken pipe错误终极解释转载 2018-11-06 19:10:48 · 3564 阅读 · 0 评论 -
ImportError: libffi.so.6: cannot open shared object file: No such file or directory
有一次make里遇到这样一个问题:ImportError: libffi.so.6: cannot open shared object file: No such file or directory提示就是libffi.so.6不存在的意思,先用find命令找到libffi.so.6的目录,再把该路径加到环境变量LD_LIBRARY_PATH中。ImportError: libffi.so.6:原创 2017-12-05 09:10:34 · 7812 阅读 · 3 评论 -
LINUX 查看CPU信息
/proc/cpuinfo cpufreq-info cpuid dmidecode hardinfo i7z likwid lscpu //我一般用这个 显示比较友好 lshw lstopo numactl x86info查看linux系统CPU信息的经验 https://jingyan.baidu.com/article/6525d4b150b472ac7d2e94a6.原创 2017-12-04 10:26:33 · 1389 阅读 · 0 评论 -
pcap的用法(转)
//2012年的,可能有更新1 #include转载 2017-12-04 17:16:58 · 1081 阅读 · 0 评论 -
/usr/bin/ld: cannot find -lxxx 问题解决
上周在搭开发环境的时候遇到过这个问题,感觉今后应该也会遇到这个问题,就做一下记录。make命令执行后,报了一个/usr/bin/ld: cannot find -lxxx主要的原因是库文件并没有导入的ld检索目录中。库文件名:libxxx.so/usr/lib, /usr/local/lib,或者其他自定义的lib路径下找有没有相应的库。usr/bin/ld: cannot find 错误解决方法原创 2017-12-04 17:15:22 · 706 阅读 · 0 评论 -
top命令
所有LINUX命令详细的使用方式都可以有man xxx来看,但是这个有的时候并不方便快速解决问题,所以我一般在http://man.linuxde.net/上搜命令的用法,如果没有找到解决我的问题的方法,我再用man xxx。top命令可以实时动态地查看系统的整体运行情况,是一个综合了多方信息监测系统性能和运行信息的实用工具。通过top命令所提供的互动式界面,用热键可以管理。选项 -b:以批处理模原创 2017-12-04 14:58:27 · 862 阅读 · 0 评论 -
error while loading shared libraries:libocci.so.11.1:cannot open shared object file:No such file or
问题描述: 执行某程序时,遇到如下错误: error while loading shared libraries:libocci.so.11.1:cannot open shared object file:No such file or directory解决方案: 从提示来看,大致就是系统找不到libocci.so.11.1这个文件先找到libocci.so.11.1的路径在项目下 fi原创 2017-12-11 11:14:51 · 1995 阅读 · 0 评论 -
/usr/bin/ld: skipping incompatible 问题解决
用make命令后出现了/usr/bin/ld: skipping incompatible……问题这个问题实质是链接库文件时,库文件版本与平台版本不对应的问题。解决方法:objdump -p libmylib.a 看一下该库的版本是32为还是64位的,或是ARM版还是..等等。仔细分析一下。你就会恍然大雾。(我的碰到的问题是:平台是64位的,但是xxx.a是32版,当然不兼容)32位程序的源代码在原创 2017-12-11 09:05:38 · 5481 阅读 · 0 评论 -
You have newmail in /var/spool/mail/root(转)
在某服务器上执行命令,突然遇到这个。我在想卧槽这个服务器还会有mail?? 然后查了下是这样的:一般这种情况mail的内容就只是一些正常的系统信息或者是比较重要的错误报告。如果你安装了mutt的话直接用这个命令就可以查看mail的内容(用root登陆先),没有装的话用cat /var/spool/mail/root查看(用root登陆先)。参考:https://zhidao.baidu.com/qu转载 2017-12-01 09:46:22 · 594 阅读 · 0 评论 -
LINUX下网关地址配置
当时的问题是因为公司服务器搬迁的问题,要给服务器重新配置IP和网关。和一个老同事一块去处理组内的服务器。最初用的是route命令 route [add|del] [-net|-host] target [netmask Nm] [gw Gw] [[dev] If]route add default gw 192.192.xxx.xxx dev eth0 这样就可以配置默认网关。使用在root账原创 2017-09-26 16:42:16 · 7301 阅读 · 2 评论 -
shmid_ds 一个特殊的数据结构
http://blog.csdn.net/sphone89/article/details/7602806原创 2017-10-23 09:19:26 · 853 阅读 · 0 评论