-
Linux 中可重入函数与不可重入函数详解
所属栏目:[安全] 日期:2020-12-15 热度:97
Linux 中可重入函数与不可重入函数详解 可重入函数和不可重入函数说起来有点拗口,其实写过多进程(线程)程序的人肯定很快就能明白这两种函数是个神马东西。下面是我对这两个函数的理解: 可重入函数可以理解为是能被中断的函数,并且它被中断返回后也不会[详细]
-
Linux下模拟实现进度条实例详解
所属栏目:[安全] 日期:2020-12-15 热度:119
Linux下模拟实现进度条 在Linux系统下模拟进度条,首先需要了解一些简单基础知识: 1、在Linux系统下,r是回车符,n是换行符,回车是行不变光标回到该行的起始位置,换行是跳转到下一行,但是光标位置不变; 2、CC++的输入输出都有缓冲区,都为行缓冲,行[详细]
-
linux 下实现sleep详解及简单实例
所属栏目:[安全] 日期:2020-12-15 热度:64
linux 下实现sleep详解及简单实例 sleep: 普通版本 1、基本设计思路: 1注册SIGALRM信号的处理函数; 2调用alarm(nsecs)设定闹钟; 3调pause等待,内核切换到别的进程运行; 4nsecs秒之后,闹钟超时,内核发SIGALRM给这个进程 ; 5从内核态返回这个进程的户态之[详细]
-
使用ntpdate工具校正linux服务器时间(实现方法)
所属栏目:[安全] 日期:2020-12-15 热度:162
当Linux服务器的时间不对的时候,可以使用ntpdate工具来校正时间。 安装:yum install ntpdate ntpdate简单用法: # ntpdate ip # ntpdate 210.72.145.44 以下是一些可用的NTP服务器地址: Name IP Location 210.72.145.44 210.72.145.44 中国(国家授时中心[详细]
-
基于shell的if和else详解
所属栏目:[安全] 日期:2020-12-15 热度:197
基本语法 shell的if语法和C语言等高级语言非常相似,唯一需要注意的地方就是shell的if语句对空格方面的要求比较严格(其实shell对所有语法的空格使用都比较严格),如果在需要空格的地方没有打上空格,都会报错。如if [ $1x == "ip"x ];then echo "abc";fi中少[详细]
-
Vim中列出TODO与FIXME等备注的方法
所属栏目:[安全] 日期:2020-12-15 热度:65
前言 很多程序员,包括我,会在写代码的时候,习惯性的用TODO,FIXME,HACK等作为一些注释的前缀。这样方便自己和后来者预先知道相关注释和代码的状况 不过这样的备注只有是以后恰巧看到这段代码的时候才能看到,没法在一次发版或者空闲的时候,有一个直观的界[详细]
-
linux下tomcat常用操作
所属栏目:[安全] 日期:2020-12-15 热度:71
假设tomcat安装在/usr/local/tomcat7 启动tomcat cd /usr/local/tomcat7/bin./startup.sh 查看启动状态 ps -ef|grep javaroot 3729 1729 6 09:23 pts/2 00:00:03 /usr/lib/jvm/java-8-openjdk-i386//bin/java -Djava.util.logging.config.file=/usr/local/to[详细]
-
Linux启动过程详细介绍
所属栏目:[安全] 日期:2020-12-15 热度:139
Linux启动过程详细介绍 启动第一步--加载BIOS 当你打开计算机电源,计算机会首先加载BIOS信息,BIOS信息是如此的重要,以至于计算机必须在最开始就找到它。这是因为BIOS中包含了CPU的相关信息、设备启动顺序信息、硬盘信息、内存信息、时钟信息、PnP特性等[详细]
-
详解git无法pull仓库refusing to merge unrelated histories
所属栏目:[安全] 日期:2020-12-15 热度:180
详解git无法pull仓库refusing to merge unrelated histories 本文讲的是把Git在最新2.9.2,合并pull两个不同的项目,出现的问题如何去解决 fatal: refusing to merge unrelated histories 我在Github新建一个仓库,写了License,然后把本地一个写了很久仓库[详细]
-
利用Shell 脚本解决DDOS攻击问题
所属栏目:[安全] 日期:2020-12-15 热度:148
思路:主要利用 awk ,if结构,sort,uniq #!/bin/bashFilePath="access.log"awk '{print $1}' $FilePath | sort -rn | uniq -c ip_count.logcat ip_count.log | while read text ####读取文件内容,以行为单位doecho $textcount=`echo $text | awk '{print[详细]
-
linux 下同名符号冲突问题解决方案
所属栏目:[安全] 日期:2020-12-15 热度:106
linux 下同名符号冲突问题解决方案 最近的工作中遇到如下令人蛋疼的问题: Linux 下有三个模块aa、bb、cc,基本情况如下: cc 编译连接得到 cc.so 动态库,cc 中有如下接口: cc_fun { …… do();//调用名为do的cc模块内部函数 …… } bb 编译连接得到 bb.a[详细]
-
shell通过遍历输出两个日期范围内所有日期的方法
所属栏目:[安全] 日期:2020-12-15 热度:73
前言 在平常c/c++开发中经常遇到日期处理的情形,例如求两个给定的日期之间相差的天数或者需要使用map存储两个固定日期范围内的所有日期。前段时间项目中需要用shell脚本批量处理给定的两个日期范围内所有日期产生的日志,当时以为shell处理不方便就用c++来[详细]
-
Shell脚本经典之Fork炸弹的分析与预防
所属栏目:[安全] 日期:2020-12-15 热度:130
fork炸弹介绍 众所周知,bash是一款极其强大的shell,提供了强大的交互与编程功能。这样的一款shell中自然不会缺少函数这个元素来帮助程序进行模块化的高效开发与管理。于是产生了由于其特殊的特性,bash拥有了fork炸弹。Jaromil在2002年设计了最为精简的一[详细]
-
shell脚本实现多进程运行的方法示例
所属栏目:[安全] 日期:2020-12-15 热度:57
本文主要跟大家分享了shell脚本实现多进程运行的相关内容,分享出来供大家参考学习,下面来一起看看详细的介绍: 例子 for ip in 192.168.56.{1..254}do ( ping $ip -c 4 gt;/dev/null; if [ $ -eq 0 ]; then echo $ip is alive fi ) ,把for里面需要执行的[详细]
-
shell如何记录用户的IP与命令详解
所属栏目:[安全] 日期:2020-12-15 热度:81
记录输入的命令 history命令可以查看用户输入过的命令,一个典型history命令输出如下: 980 2017-05-29 20:17:37 cd -981 2017-05-29 20:17:41 cat index.html982 2017-05-29 20:20:11 vim index.html983 2017-05-29 20:39:18 cd -984 2017-05-29 20:39:25 c[详细]
-
在Linux与Windows上获取当前堆栈信息的方法
所属栏目:[安全] 日期:2020-12-15 热度:64
在编写稳定可靠的软件服务时经常用到输出堆栈信息,以便用户/开发者获取准确的运行信息。常用在日志输出,错误报告,异常检测。 在Linux有比较简便的函数获取堆栈信息: #include stdio.h#include execinfo.h#include signal.h#include stdlib.h#include uni[详细]
-
Linux 中wget命令详细介绍
所属栏目:[安全] 日期:2020-12-15 热度:118
两个Linux命令wget和exec 一个linux命令:wget ftp访问命令来下载文件的三种方式 1)wget ftp://userName:password@172.17.5.73:21/xxxx/xxx.txt 2) wget --ftp-user=XXX --ftp-password=xx ftp://172.17.5.73:21/xxx.txt wget:从网络上自动下载文件的工具,[详细]
-
Linux C中sockaddr和sockaddr_in的区别
所属栏目:[安全] 日期:2020-12-15 热度:55
Linux C中sockaddr和sockaddr_in的区别 struct sockaddr和struct sockaddr_in这两个结构体用来处理网络通信的地址。 在各种系统调用或者函数中,只要和网络地址打交道,就得用到这两个结构体。 网络中的地址包含3个方面的属性: 1 地址类型: ipv4还是ipv6 2[详细]
-
Linux C线程池简单实现实例
所属栏目:[安全] 日期:2020-12-15 热度:119
Linux C线程池 三个文件 1 tpool.h typedef struct tpool_work { void (*routine)(void *); void *arg; struct tpool_work *next; } tpool_work_t; typedef struct tpool { /* pool characteristics */ int num_threads; int max_queue_size; /* pool state[详细]
-
linux创建PHP定时任务的实例
所属栏目:[安全] 日期:2020-12-15 热度:200
linux创建PHP定时任务 下面所有的前提是服务器存在PHP环境 首先创建一个php文件:示例内容如下: php$ch=curl_init();//设置请求curl_setopt($ch,CURLOPT_URL,"写上要请求的URL");curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);curl_setopt($ch,CURLOPT_HEADER[详细]
-
shell脚本实现多彩进度条
所属栏目:[安全] 日期:2020-12-15 热度:156
先贴代码 #!/bin/bashi=0;str=""arr=("|" "/" "-" "")while [ $i -le 100 ]do let index=i%4 let indexcolor=i%8 let color=30+indexcolor printf "e[0;$color;1m[%-100s][%d%%]%cr" "$str" "$i" "${arr[$index]}" sleep 0.1 let i++ str+='='doneprintf[详细]
-
Linux 中fork的执行的实例详解
所属栏目:[安全] 日期:2020-12-15 热度:91
Linux 中fork的执行的实例详解 先看看一段fork的程序 int main(){ pid_t pid; 语句 a; pid = fork(); 语句 b;} 1.当程序运行到 pid = fork()时,这个进程马上分裂(fork的中文意思)成两个进程,我们称为父进程和子进程,子进程是父进程的副本,副本的意思是子进[详细]
-
详解Linux下读取位图的注意事项
所属栏目:[安全] 日期:2020-12-15 热度:76
详解Linux下读取位图的注意事项 在Linux下读取位图遇到的问题,很好地体现了linux与Windows操作系统的不同。按理说位图格式与操作系统无关,读取也应该无关,实际上在位图读到内存中时已经不同。下面主要介绍自己在Linux下操作位图遇到的问题。 (一)、位图[详细]
-
Linux共享内存实现机制的详解
所属栏目:[安全] 日期:2020-12-15 热度:81
Linux共享内存实现机制的详解 内存共享: 两个不同进程A、B共享内存的意思是,同一块物理内存被映射到进程A、B各自的进程地址空间。进程A可以即时看到进程B对共享内存中数据的更新,反之亦然。由于多个进程共享同一块内存区域,必然需要某种同步机制,互斥锁[详细]
-
Linux 下C语言获取文件大小
所属栏目:[安全] 日期:2020-12-15 热度:77
Linux 下C语言获取文件大小 C语言是一种比较底层的语言,有时在其他语言中很容易操作的事情,在c语言中就比较麻烦,例如获取一个文件的大[详细]