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

楚雄网站设计吉林企业网站模板建站哪个好

楚雄网站设计,吉林企业网站模板建站哪个好,建设部职称评审的网站,北京网站设计引流微信hyhyk1一、功能 linux下在程序中调用shell命令实现某个功能&#xff0c;比如拷贝命令cp 二、使用 添加头文件 #include <stdlib.h> 函数原型 int system(const char *command); 描述说明是system的调用过程&#xff1a; 使用fork创建一个子进程&#xff0c;子进程使用 execl 执…

一、功能
linux下在程序中调用shell命令实现某个功能,比如拷贝命令cp
二、使用
添加头文件 #include <stdlib.h>
函数原型 int system(const char *command);
描述说明是system的调用过程:
使用fork创建一个子进程,子进程使用 execl 执行 command 中指定的 shell 命令system函数在子进程命令执行完成后返回在命令执行过程中,SIGCHLD 将被阻塞,SIGINTSIGQUIT 将被忽略
由上面几点我们能够得到:
system是一个阻塞函数,使用system需等待命令执行结束后才会继续跑接下去的代码SIGCHLD 信号将被阻塞
本章的重点来了,为何要阻塞SIGCHLD 信号:
在Linux中fork的子进程结束后,内核会向其父进程发送SIGCHLD信号,即system函数的调用者,system源码中父进程是调用waitpid函数来为变成僵尸的子进程进行回收,获得其结束状态,然后将这个结束状态返回给system函数的调用者。
所以我们在调用system之前不能去注册SIGCHLD 信号的处理函数,如在信号处理函数中进行wait等操作,system函数中的 waitpid将可能获取不到子进程正确返回状态,因为子进程可能被信号处理函数抢先回收;

#include <stdlib.h>
#include <stdio.h>
#include <signal.h>typedef void (*sighandler_t)(int);
int os_system(const char *cmd)
{int ret = 0;sighandler_t old_handler;old_handler = signal(SIGCHLD, SIG_DFL);ret = system(cmd);signal(SIGCHLD, old_handler);return ret;
}
int main(int argc, char *argv[]) 
{char cmd[128] = "mkdir -p /data/param";int ret = os_system(cmd);if(ret == -1)printf("mkdir erro");elseprintf("mkdir success");
}

old_handler =signal(SIGCHLD, SIG_DFL); 在调用system前将SIGCHLD信号的处理函数注册为SIG_DFL,在Linux 中SIG_DFL的作用就是忽略的意思;
signal(SIGCHLD, old_handler);在调用完后将 SIGCHLD的处理函数恢复成调用前的处理函数。

http://www.yayakq.cn/news/466800/

相关文章:

  • 申请建设网站的请示南岗红旗大街网站建设
  • 河东苏州网站建设湖北网站设计公司
  • 做国际网站中国建设银行信用卡官方网站
  • 阿里云做网站可以吗镇江网站设计建设
  • 制作礼品袋图片seo北京
  • 建设企业网站服务器电子商务网站建设与维护考试
  • 前端网页特效搜索引擎优化的定义
  • 大连 建网站沈阳市做网站电话
  • jsp网站开发存在的问题企业官网建站系统
  • 网站建设完成报告优秀的网站通过什么提供信息
  • jquery 开发网站软件开发需要具备什么条件
  • 网站专题设计软件苏州市住房建设局网站
  • 网站前端模板wordpress的404页面如何做
  • 加盟高端网站建设松江手机网站建设
  • 三字型布局的网站全能浏览器app下载
  • 手机 网站内 搜索扁平化设计网站
  • php网站开发好找工作吗商城网站方案
  • 化妆品网站建设的维护上海市建设教育网站
  • 网站的规划与建设案例分析电子商务网站建设的风险分析
  • 有关网站建设国内外现状的文献南平抖音搜索排名seo软件
  • 建设银行网站用户名忘了怎么办公司注册名字大全免费
  • 沈阳建设工程质量检测中心网站wordpress 被sql注入
  • 简繁英3合1企业网站生成管理系统互联网推广怎么找渠道
  • 如果是自已建设的网站_那你在数据库想改成什么时间都可以.手机网站设计字体多大
  • 网站开发文件夹组织结构在线购物网站建设的需求分析
  • 智能建网站软件h5作品网站
  • 开公司注册空头公司做网站wordpress利用视频引流
  • html5网站抓取上海市网站建
  • 网站关键词的作用网络推广平台排行榜
  • 时尚类网站建设伍佰亿是什么网站