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

重庆企业网站建设哪家专业2345推广联盟

重庆企业网站建设哪家专业,2345推广联盟,制作一个网站的步骤是什么,免费代理上网网站一、功能 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/777417/

相关文章:

  • discuz 企业网站 模板天辰建设网
  • 个人网站域名取名网站建设分几模块
  • 哪个网站的系统html5微网站开发教程
  • 有哪些网站建设企业亿度网络 网站建设
  • dede怎么做商城网站展厅设计概念方案
  • 把自己做的网站发布合肥学网站设计
  • 网页的依托网站用网站做宣传的费用
  • 搜狐网站网络营销怎么做js导入wordpress
  • 网站续费后为何还不能用豆芽网站建设
  • 网站建设公司如何生存wordpress 新浪微博登入
  • 西安建设工程中心交易网站wordpress显示当天文章
  • 网站建设和续费在自己电脑上建网站
  • 网站制作电话多少工业设计公司宣传语
  • 酒店为什么做网站程序员不是做网站的
  • 湘潭网站建设 水平磐石网络免费注册入口
  • 购物网站欢迎页面怎么设计建设摩托车价格大全
  • 网站模板 茶叶响应式深圳互联网
  • WordPress修改站点名称_网站开发需求式样书
  • 网站如何做网络推广网站做好怎么开始做推广
  • 手机网站 input新建html网站
  • 什么网站做执法仪专门做牛肉的网站
  • 电话开发网站建设话术网络推广员是干什么的
  • 域名建网站什么是网络营销举例子
  • 网站 空间费用yy大杂烩
  • 天津市建设教育培训中心网站网页设计师需要学什么技能
  • 上虞区建设局网站北京师大互联网公司
  • 墨子网站建设php无版权企业网站管理系统
  • 网站建设的技术风险网上书城网站开发说明书
  • wordpress增加下载文件昆明官网seo诊断
  • 西安市城乡建设档案馆网站稳定免费空间