-
小知识:Linux网络编程wait()和waitpid()的讲解
客户端断开连接后,服务器端存在大量僵尸进程。这是由于服务器子进程终止后,发送SIGCHLD信号给父进程,而父进程默认忽略了该信号。为避免僵尸进程的产生,无论我们什么时候创建子进程时,主进程都需要等待子进程返回,以便对子进程进行清理。为此,我们在服务器程序中添加SIGCHLD信号处理函数。 复制代码 代码如下: #include #include #include #include #include…- 2
- 0
-
小知识:Linux网络编程使用多进程实现服务器并发访问
采用多进程的方式实现服务器的并发访问的经典范例。 程序实现功能: 1.客户端从标准输入读入一行文字,发送到服务器. 2.服务器接收到客户端发来的文字后,原样返回给客户端. 3.客户端接收到服务器的发来的文字后,输出到标准输出,然后继续以上步骤。 服务器端过程:建立好监听套接字后,等待客户端的连接,接收到一个连接后,创建一个子进程来与客户端进行通信,主进程则继续等待其他客户端的连接。代码…- 3
- 0
-
小知识:Linux下取得UUID的方法分享
HP和RedHat上可以使用uuidgen来生成,solaris上命令:makeuuid 如何通过C++编程取得UUID? 1.安装libuuid库, libuuid.so.1包涵在e2fsprogs里,本人的系统为RedHat7.3,下载ftp://194.199.20.114/linux/redhat/7.3/en/os/i386/RedHat/RPMS/e2fspro…- 22
- 0
-
小知识:linux下非阻塞模式网络通讯模型示例分享
复制代码 代码如下: #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include <arpa/inet.h> #ifdef __ENABLED…- 2
- 0
-
小知识:浅谈linux模拟多线程崩溃和多进程崩溃
结论是: 多线程下如果其中一个线程崩溃了会导致其他线程(整个进程)都崩溃; 多进程下如果其中一个进程崩溃了对其余进程没有影响; 多线程 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 4…- 1
- 0
-
小知识:Epoll 能监听普通文件吗?
epoll 是 Linux 系统中常用的多路复用 I/O 组件,一般用于监听 socket 是否能够进行 I/O 操作。那么,epoll 能监听普通文件吗? 我们先通过下面的例子来验证一下,epoll 能不能监听普通文件: #include <stdio.h> #include <sys/epoll.h> #include&nbs…- 2
- 0
-
小知识:rsync只同步指定目录的方法(已测)
rsync同步指定目录 rsync使用–include参数与–exclude 参数来实现同步指定目录,并且–exclude目录放在后面。 例如: linux上文件目录 复制代码 代码如下: ls /usr/local/apache/htdocs/site aa bb cc dd ee .. zz 只想同步aa,bb,ee这三个目录,其他的不同步。 实现代码: 复制代码 代码如下: /usr/loc…- 72
- 0
-
小知识:linux控制台下实现2048小游戏
废话少说,直接奉上代码: main.c 复制代码 代码如下: #include"2048.h" int main() { start_game(); return 0; } 2048.h 复制代码 代码如下: #ifndef _2048_H_ #define _2048_H_ #include #inc…- 4
- 0
-
小知识:Linux下访问匿名页发生的神奇“化学反应”
Linux中有后备文件支持的页称为文件页,如属于进程的代码段、数据段的页,内存回收的时候这些页面只需要做脏页的同步即可(干净的页面可以直接丢弃掉)。反之为匿名页,如进程的堆栈使用的页,内存回收的时候这些页面不能简单的丢弃掉,需要交换到交换分区或交换文件。本文中,主要分析匿名页的访问将发生哪些可能颠覆我们认知的"化学反应"。 1.实例代码 首先以一个简单的示例代码来说明: #in…- 0
- 0
-
小知识:linux下gettimeofday函数windows替换方法(详解)
实例如下: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 #include <time.h> #ifdef WIN32 # include <windows.h> #else # include <sys/time.h> #endif #…- 8
- 0
-
小知识:Linux C++ 使用condition实现阻塞队列的方法
实例如下: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 /* * BlockingQueue.h * * Created on: 2014年6月10日 * Author: */ #ifndef BLOCKINGQUEU…- 4
- 0
-
小知识:Linux在应用层读写寄存器的方法及实现实例
Linux在应用层读写寄存器的方法 可以通过操作/dev/mem设备文件,以及mmap函数,将寄存器的地址映射到用户空间,直接在应用层对寄存器进行操作,示例如下: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42…- 6
- 0
-
小知识:linux下的C\C++多进程多线程编程实例详解
linux下的C\C++多进程多线程编程实例详解 1、多进程编程 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 #include <stdlib.h> #include <sys/types.h> #include <unistd.h> int main() { pid_t child…- 0
- 0
-
小知识:Linux创建进程达到65535的方法
Linux上创建进程据说消耗很少,这个一直是Linux的特点,于是就专门测试Linux创建进程的极限,测试代码如下: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 //fork.c #include <unistd.h> #include <stdl…- 13
- 0
-
小知识:在linux下玩转带有超时时间的connect函数
在之前的文章中,我们在Windows下玩过带有超时时间的,本文我们在linux下来玩。在某次面试中,还被遇到了这个问题,有意思。 直接上客户端代码: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 …- 4
- 0
-
小知识:linux中alarm函数的实例讲解
linux alarm函数简介 上代码: ? 1 2 3 4 5 6 7 8 9 10 11 #include <stdio.h> #include <unistd.h> #include <stdlib.h> #include <signal.h> int main(int argc, char *argv[]) { alarm(5); sleep…- 6
- 0
-
小知识:linux仿写chmod命令
复制代码 代码如下: #include #include #include #include int main(int argc,char **argv) { int mode; int mode_u; int mode_g; int mode_o; char *path; if(argc<3) { &nbs…- 1
- 0
❯
个人中心
购物车
优惠劵
今日签到
有新私信
私信列表
搜索
扫码打开当前页
返回顶部
幸运之星正在降临...
点击领取今天的签到奖励!
恭喜!您今天获得了{{mission.data.mission.credit}}积分
我的优惠劵
-
猿优惠劵使用时效:无法使用使用时效:
之前
使用时效:永久有效优惠劵ID:×
没有优惠劵可用!