当前位置: 首页 > news >正文

网站建设日程表表格2023年4月疫情恢复

网站建设日程表表格,2023年4月疫情恢复,重庆网站推广专家,苏州网站建设制作单进程场景 在单进程的情况下,ctrlc和kill -2是一模一样的,都是向指定的进程发送SIGINT信号. 如果进程中注册了捕捉SIGINT信号的处理函数,那么这个信号会被进程处理,例如: void processB() {// Set signal handler …

单进程场景

在单进程的情况下,ctrl+c和kill -2是一模一样的,都是向指定的进程发送SIGINT信号.

如果进程中注册了捕捉SIGINT信号的处理函数,那么这个信号会被进程处理,例如:

void processB() {// Set signal handler for SIGINT in process Bsignal(SIGINT, sigint_handler);printf("I am B process\n");while (1) {printf("B: Working...\n");sleep(1);}
}

如果没有注册这个信号捕捉,当信号触发时,操作系统将会终止这个进程的运行.相关资源也会由系统回收.

非单进程场景

试想一种场景,A进程作为父进程启动之后拉起子进程B。这个时候对A进程发送kill -2或者ctrl + c,这两种情况下,产生的结果是否一致?

我们可以写一个简单的测试程序来验证我们的想法:

#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <signal.h>void sigint_handler(int signum) {printf("Capture Ctrl+C signal:%d\n", signum);
//    exit(EXIT_SUCCESS);
}void processB() {// Set signal handler for SIGINT in process Bsignal(SIGINT, sigint_handler);printf("I am B process\n");while (1) {printf("B: Working...\n");sleep(1);}
}int main() {// Set signal handler for SIGINT in process Asignal(SIGINT, sigint_handler);pid_t child_pid = fork();if (child_pid == -1) {perror("Fork failed");exit(EXIT_FAILURE);}if (child_pid > 0) {// This is the parent processprintf("I am a process\n");while (1) {printf("Parent: Working...\n");sleep(1);}} else {// This is the child processprocessB();}return 0;
}

使用指令:gcc -o cotrol_and_C_test cotrol_and_C_test.c

来编译你的测试程序。

测试发现:

1,对当前进程A执行ctrl+c时,A/B进程同时退出

2,对当前进程B执行kill -2时,只有A进程退出,B进程依旧在运行

现象其实很好解释:

1,对当前进程A执行ctrl+c时,A/B进程同时退出

--> 当A进程启动B进程之后,AB进程同属与同一个进程组,你可以使用ps -e -o pid,pgid,cmd 指令查看:

 38057      0 [kworker/3:0-cgr]38069      0 [kworker/2:2-cgr]38080      0 [kworker/0:1-cgr]38149  38149 ./cotrol_and_C_test38150  38149 ./cotrol_and_C_test38151  38151 ps -e -o pid,pgid,cm

当发生ctrl+c时,这个信号是同时发送给了这个进程组中所有的进程,这其中也包括了进程B

2,对当前进程B执行kill -2时,只有A进程退出,B进程依旧在运行

--> 这种情况下,因为执行的是kill -2 $pid, 这个时候SIGINT信号只发送给了$pid进程,并不会发送给进程组的其他成员,所以他们并不能收到这个信号。

扩展

http://zyearn.com/blog/2015/03/22/what-happens-when-you-kill-a-process/

这篇文章介绍的不错。

http://www.hkea.cn/news/787624/

相关文章:

  • 24手表网站网络技术推广服务
  • 鞍山网站制作推广游戏推广员判几年
  • 360如何做网站优化网页设计制作软件
  • 金华网站建设电话电商运营主要负责什么
  • 百度的官方网站游戏推广工作好做吗
  • 著名的深圳网站建设网页快照
  • 政务网站建设要求快速排名软件哪个好
  • 自己网站怎么做优化色盲和色弱的区别
  • 苏州建网站公司seo网络推广培训班
  • 福清市建设局网站石家庄学院
  • 找考卷做要去哪个网站中国国家培训网官网查询
  • 软件系统开发的大概步骤优化网站标题名词解释
  • 院校网站建设模板建站平台
  • 淘宝网站内搜索引擎优化怎么做广告推广平台网站有哪些
  • 大片播放网站国外免费推广网站有哪些
  • flash网站cms排名sem优化软件
  • 申请完域名怎么做网站百度链接提交
  • 驻马店市可以做网站的公司百度搜索竞价排名
  • 郑州市做网站吉林百度查关键词排名
  • 济宁网站建设seo抖音seo源码搭建
  • 茂名网站建设方案书简述seo和sem的区别
  • 江西网站做的好的企业文化百度指数在哪里看
  • 山东电商网站建设seo网站排名优化公司
  • 赤峰市做网站公司今日的最新消息
  • 上海最大的贸易公司seo网络推广机构
  • jsp 网站开发广告发布平台
  • b2c网站综合对比评价站长统计幸福宝
  • 网站建设意见做推广app赚钱的项目
  • 哈尔滨营销网站制作做外贸推广
  • 深圳网站建设外贸公司排名搜索热词排名