- 博客(7)
- 收藏
- 关注
原创 linux下 判断进程id是否存在
if(kill(pid, 0) && errno == ESRCH) 通过给该进程发送kill -0信号,虽然不做任何处理,但会做类型检查,如果errno == ESRCH 说明不存在该进程。
2020-04-21 18:46:06
2138
原创 Linux C语言中关于线程的一些函数汇总
1. 创建线程 函数简介 pthread_create是UNIX环境创建线程函数 头文件 #include<pthread.h> 函数声明 int pthread_create(pthread_t*restrict tidp,const pthread_attr_t *restrict_attr,void*(*start_rtn)(void*),void *...
2020-04-20 16:18:26
407
原创 linux下使用系统原子函数实现自旋锁
最近一段时间在看skynet源码,看到云风使用原子函数实现呢了自旋锁,特来记录一下。 struct spinlock { int lock; }; static inline void spinlock_init(struct spinlock *lock) { lock->lock = 0; } static inline void spinlock_lock(struc...
2020-04-07 15:30:43
282
转载 线程数据共享:pthread_getspecific和pthread_setspecific
pthread_getpecific和pthread_setspecific提供了在同一个线程中不同函数间共享数据即线程存储的一种方法。具体用法为: 1.调用pthread_key_create()来创建一个类型为pthread_key_t类型的变量 该函数有两个参数,第一个参数就是声明的pthread_key_t变量,第二个参数是一个清理函数,用来在线程释放该线程存储的时候被调用。该函数指针可...
2020-04-03 20:19:53
469
原创 SIGHUP信号的作用以及守护进程为什么要忽略SIGHUP信号
SIGHUP信号的作用: 比如修改了 nginx 配置文件,希望不重启nginx就让配置生效,可以往nginx进程发一个 SIGHUP信号。 守护进程为什么要忽略SIGHUP信号? 首先创建一个会话leader进程A,接着用A创建子进程B,然后退出A,之后所有进程从B创建,保证所有以后新创建进程都不是会话 leader进程(这是为了防止终端取得进程控制权而采取的保证措施),但是,...
2020-04-03 15:31:55
2998
4
原创 安全处理SIGPIPE信号
如果不处理SIGPIPE信号,对方主动关闭socket连接,继续向对方发送信息,会导致程序崩溃。 处理方法:(忽略SIGPIPE信号) int sigign() { struct sigaction sa; sa.sa_handler = SIG_IGN; sigaction(SIGPIPE, &sa, 0); retur...
2020-04-02 14:08:58
229
转载 centos7 安装 mongodb
本文的环境为centos7,装的MongoDB版本为3.6.13 1.下载并解压 centos下直接使用wget下载: weget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.6.13.tgz 创建目录/usr/local/mongodb,将解压之后文件放入该文件夹: tar -zxvf mongodb-linux-x86_...
2020-03-06 12:50:27
153
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅