DoubleLi

qq: 517712484 wx: ldbgliet

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
  4737 随笔 :: 2 文章 :: 542 评论 :: 1617万 阅读
< 2025年3月 >
23 24 25 26 27 28 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 1 2 3 4 5

随笔分类 -  Linux

上一页 1 ··· 3 4 5 6 7 8 9 10 11 ··· 31 下一页

摘要:#include <stdio.h> #include <pthread.h> #include <sys/types.h> #include <sys/syscall.h> struct message { int i; int j; }; void *hello(struct message * 阅读全文
posted @ 2021-04-28 13:41 DoubleLi 阅读(285) 评论(0) 推荐(0) 编辑

摘要:在Linux的top和ps命令中,默认看到最多的是pid (process ID),也许你也能看到lwp (thread ID)和tgid (thread group ID for the thread group leader)等等,而在Linux库函数和系统调用里也许你注意到了pthread i 阅读全文
posted @ 2021-04-28 10:39 DoubleLi 阅读(538) 评论(0) 推荐(0) 编辑

摘要:在Linux中,可以使用nohup将脚本放置后台运行,如下: nohup python myscript.py params1 > nohup.out 2>&1 & 但直接使用上面代码,无法在程序运行过程中查看Python中的print "computing" 输出结果,比如在每次循环中使用prin 阅读全文
posted @ 2021-04-13 15:20 DoubleLi 阅读(944) 评论(0) 推荐(0) 编辑

摘要:nohup和&究竟有啥区别?不少同学进行了回复,但并不是所有同学都理解得全对,今天把自己挖的坑自己填了。 测试代码如下: 是一个输出hello与循环轮数的死循环程序,每输出一行就休眠1秒。 使用 ./a.out 前台运行程序,会是什么效果呢? 程序每隔一秒会在终端输出一个字符串。 此时如果键入Ctr 阅读全文
posted @ 2021-04-13 15:18 DoubleLi 阅读(87) 评论(0) 推荐(0) 编辑

摘要:sigaction函数解析 sigaction函数的功能是检查或修改与指定信号相关联的处理动作(可同时两种操作)。 他是POSIX的信号接口,而signal()是标准C的信号接口(如果程序必须在非POSIX系统上运行,那么就应该使用这个接口) 给信号signum设置新的信号处理函数act, 同时保留 阅读全文
posted @ 2021-03-18 11:47 DoubleLi 阅读(219) 评论(0) 推荐(0) 编辑

摘要:当服务器close一个连接时,若client端接着发送数据,根据TCP的规定会收到一个RST响应,client再往这个服务器发送数据时,系统会发出一个SIGPIPE信号给进程,告诉进程这个连接已经断开了,不要再写了。 又或者当一个进程向某个已经收到RST的socket执行写操作是,内核向该进程发送一 阅读全文
posted @ 2021-03-18 11:06 DoubleLi 阅读(632) 评论(0) 推荐(0) 编辑

摘要:现象: linux下C++开发的网络服务器程序,在页面刷新时有时候会出现进程退出的情况。使用gdb调试,发现是系统发送了SIGPIPE信号,导致进程退出的。 规避或解决方法: 最根本的解决办法是提高socket编程recv或send函数的健壮性。对返回值做全面的稳妥的处理。 最有效的规避方法是在进程 阅读全文
posted @ 2021-03-18 11:03 DoubleLi 阅读(585) 评论(0) 推荐(0) 编辑

摘要:查看多核CPU命令mpstat -P ALL 和 sar -P ALL 说明:sar -P ALL > aaa.txt 重定向输出内容到文件 aaa.txt top命令经常用来监控Linux的系统状况,比如cpu、内存的使用,程序员基本都知道这个命令,但比较奇怪的是能用好它的人却很少,例如top监控 阅读全文
posted @ 2021-01-21 10:23 DoubleLi 阅读(217) 评论(0) 推荐(0) 编辑

摘要:fg、bg、jobs、&、ctrl + z命令一、 &加在一个命令的最后,可以把这个命令放到后台执行 ,如gftp &,二、ctrl + z可以将一个正在前台执行的命令放到后台,并且处于暂停状态,不可执行 三、jobs查看当前有多少在后台运行的命令jobs -l 选项可显示所有任务的PID,jobs 阅读全文
posted @ 2020-11-26 16:40 DoubleLi 阅读(288) 评论(0) 推荐(0) 编辑

摘要:一、信号及信号来源 信号本质 信号是在软件层次上对中断机制的一种模拟,在原理上,一个进程收到一个信号与处理器收到一个中断请求可以说是一样的。信号是异步的,一个进程不必通过任何操作来等待信号的到达,事实上,进程也不知道信号到底什么时候到达。 信号是进程间通信机制中唯一的异步通信机制,可以看作是异步通知 阅读全文
posted @ 2020-11-26 16:37 DoubleLi 阅读(827) 评论(0) 推荐(0) 编辑

摘要:【摘要】本文分析了Linux内核对于信号的实现机制和应用层的相关处理。首先介绍了软中断信号的本质及信号的两种不同分类方法尤其是不可靠信号的原理。接着分析了内核对于信号的处理流程包括信号的触发/注册/执行及注销等。最后介绍了应用层的相关处理,主要包括信号处理函数的安装、信号的发送、屏蔽阻塞等,最后给了 阅读全文
posted @ 2020-11-26 14:25 DoubleLi 阅读(345) 评论(0) 推荐(0) 编辑

摘要:sigprocmask系统调用 使用条件: 1、有时候不希望在接到信号时就立即停止当前执行,去处理信号,同时也不希望忽略该信号,而是延时一段时间去调用信号处理函数。这种情况是通过阻塞信号实现的。 2、信号阻塞和忽略信号的区别。 阻塞的概念和忽略信号是不同的。操作系统在信号被进程解除阻塞之前不会讲信号 阅读全文
posted @ 2020-11-26 10:27 DoubleLi 阅读(275) 评论(0) 推荐(0) 编辑

摘要:信号是Linux编程中非常重要的部分,本文将详细介绍信号机制的基本概念、Linux对信号机制的大致实现方法、如何使用信号,以及有关信号的几个系统调用。 信号机制是进程之间相互传递消息的一种方法,信号全称为软中断信号,也有人称作软中断。从它的命名可以看出,它的实质和使用很象中断。所以,信号可以说是进程 阅读全文
posted @ 2020-11-26 10:26 DoubleLi 阅读(243) 评论(0) 推荐(0) 编辑

摘要:今天碰到一个SIGHUP问题,再复习一遍: 有些信号的默认处理方式为“终止+core”,这里的core表示,进程终止时,会在进程的当前工作目录生产一个core文件,该文件是进程终止时的内存快照,以便以后供debugger调试用。 以下情况不会生产core文件: (1)为程序设置了set-user-I 阅读全文
posted @ 2020-11-26 10:24 DoubleLi 阅读(561) 评论(0) 推荐(0) 编辑

摘要:学习和借鉴前人经验,加之美化一番 ### # @Author: hanxiaoshun # @Date: 2020-07-08 15:53:34 # @LastEditTime: 2020-09-05 10:54:45 # @LastEditors: Please set LastEditors # 阅读全文
posted @ 2020-11-19 12:10 DoubleLi 阅读(886) 评论(0) 推荐(0) 编辑

摘要:通用看门狗脚本用来监控服务进程名,端口,进程数等,使用时可以用python watchdog.py -h 查看说明,不足之处请指正。 下载地址:https://github.com/ljw4010/easy-to-watch 阅读全文
posted @ 2020-11-19 12:08 DoubleLi 阅读(816) 评论(0) 推荐(0) 编辑

摘要:最近项目的看门狗经历了三个版本。 第一个版本: 用ps -ef,如果程序挂了就启动 第二个版本: 程序由于运行时会出现不再监听7901端口,所以不能简单判断机器是不是挂了,而是判断此端口是否有监听 第三个版本: 当7901端口不再监听,就先把原来的killall再启动,每次输出到文件的内容都加日期, 阅读全文
posted @ 2020-11-19 12:06 DoubleLi 阅读(462) 评论(0) 推荐(0) 编辑

摘要:Linux 自带了一个 watchdog 的实现,用于监视系统的运行,包括一个内核 watchdog module 和一个用户空间的 watchdog 程序。内核 watchdog 模块通过 /dev/watchdog 这个字符设备与用户空间通信。用户空间程序一旦打开 /dev/watchdog 设 阅读全文
posted @ 2020-11-19 12:02 DoubleLi 阅读(1897) 评论(0) 推荐(0) 编辑

摘要:0x00前言 文章中的文字可能存在语法错误以及标点错误,请谅解; 如果在文章中发现代码错误或其它问题请告知,感谢! 0x01 watchdog(看门狗)简介 最近由于业务需要需要一个watchdog来确保设备上运行的程序在崩溃后可以再次重启,所以进行了一些研究。watchdog(看门狗)就是为了让自 阅读全文
posted @ 2020-11-19 12:00 DoubleLi 阅读(2878) 评论(0) 推荐(1) 编辑

摘要:Intro 当我们编写服务器代码时,为了让自己的服务器在意外崩溃时能够及时的重启,软件看门狗就显示出它的作用了,该看门狗进程是通过fork一个子进程(业务进程),父进程一旦捕获到了子进程的结束信号就重新再fork一个子进程来实现的,下面将完整代码贴上。 /********************** 阅读全文
posted @ 2020-11-19 11:50 DoubleLi 阅读(1412) 评论(0) 推荐(1) 编辑

上一页 1 ··· 3 4 5 6 7 8 9 10 11 ··· 31 下一页
点击右上角即可分享
微信分享提示