- 博客(7)
- 收藏
- 关注
原创 linux下 判断进程id是否存在
if(kill(pid, 0) && errno == ESRCH) 通过给该进程发送kill -0信号,虽然不做任何处理,但会做类型检查,如果errno == ESRCH 说明不存在该进程。
2020-04-21 18:46:06 1982
原创 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 325
原创 linux下使用系统原子函数实现自旋锁
最近一段时间在看skynet源码,看到云风使用原子函数实现呢了自旋锁,特来记录一下。struct spinlock { int lock;};static inline voidspinlock_init(struct spinlock *lock) { lock->lock = 0;}static inline voidspinlock_lock(struc...
2020-04-07 15:30:43 201
转载 线程数据共享:pthread_getspecific和pthread_setspecific
pthread_getpecific和pthread_setspecific提供了在同一个线程中不同函数间共享数据即线程存储的一种方法。具体用法为:1.调用pthread_key_create()来创建一个类型为pthread_key_t类型的变量该函数有两个参数,第一个参数就是声明的pthread_key_t变量,第二个参数是一个清理函数,用来在线程释放该线程存储的时候被调用。该函数指针可...
2020-04-03 20:19:53 346
原创 SIGHUP信号的作用以及守护进程为什么要忽略SIGHUP信号
SIGHUP信号的作用:比如修改了 nginx 配置文件,希望不重启nginx就让配置生效,可以往nginx进程发一个 SIGHUP信号。守护进程为什么要忽略SIGHUP信号?首先创建一个会话leader进程A,接着用A创建子进程B,然后退出A,之后所有进程从B创建,保证所有以后新创建进程都不是会话 leader进程(这是为了防止终端取得进程控制权而采取的保证措施),但是,...
2020-04-03 15:31:55 2523 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 141
转载 centos7 安装 mongodb
本文的环境为centos7,装的MongoDB版本为3.6.131.下载并解压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 83
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人