千家信息网

system函数怎么用

发表于:2025-11-13 作者:千家信息网编辑
千家信息网最后更新 2025年11月13日,这篇文章主要为大家展示了"system函数怎么用",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"system函数怎么用"这篇文章吧。system函数是一个和
千家信息网最后更新 2025年11月13日system函数怎么用

这篇文章主要为大家展示了"system函数怎么用",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"system函数怎么用"这篇文章吧。

system函数是一个和操作系统紧密相关的函数,用户可以使用它在自己的程序中调用系统提供的各种命令。函数原型如下:

  #include  int system(const char *cmdstring);

system调用fork产生子进程,由子进程来调用/bin/sh-cmdstring来执行参数cmdstring字符串所代表的命令,此命令执行完成后随即返回调用的进程。在调用system期间SIGCHLD信号会被暂时搁置,SIGINT和SIGQUIT信号则会被忽略。

如果参数cmdstring是一个空指针NULL,则仅当命令处理程序可用时,system返回非0值,这一特征可以决定在一个给定的操作系统上是否支持system函数,当返回0时,表示system无效。

例如:

#include#includevoid main(){        int status;        if((status=system(NULL))<0)        {                printf("system error.\n");                exit(0);        }        printf("exit status=%d\n",status);        if((status=system("date"))<0)        {                printf("system error.\n");                exit(0);        }        printf("exit status=%d\n",status);        if((status=system("invalidcommand"))<0)        {                printf("system error.\n");                exit(0);        }        printf("exit status=%d\n",status);        if((status=system("who;exit 44"))<0)        {                printf("system error.\n");                exit(0);        }        printf("exit status=%d\n",status);}

运行结果:

exit status=1Wed Mar 22 09:20:45 CST 2017exit status=0sh: invalidcommand: command not foundexit status=32512root     pts/0        2017-03-22 09:07 (124.152.7.168)exit status=11264

在第一次调用system是参数为空指针,返回结果1,说明在该系统下system是可用的。

第二次调用system时,参数为date,执行成功。

第三次调用system时,参数为一个非法字符串,system返回值为shell的终止状态32512(命令出错)。

第四次调用system时,使用who命令显示登录到系统的当前用户情况,exit是退出当前的shell,可以看到system返回112674,成功执行。

以上是"system函数怎么用"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!

函数 命令 参数 系统 内容 篇文章 进程 成功 操作系统 信号 字符 字符串 指针 用户 程序 结果 学习 帮助 代表 原型 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 将数据库数据转换为数组 复工复产企业消防网络安全 英语对软件开发的重要性 公司成立网络安全领导机构 x58主板配服务器内存 网络安全持证人员占比 黔南州联想服务器cpu 对美国软件开发 社保显示申报处理服务器异常 阿里巴巴网络安全顾问 品质优良的app软件开发 先电服务器管理系统 通信工程无线网络技术就业 浙江互联网科技有限公司地址 电子政务网络安全建设推进会 东土科技工业互联网代表 王仲元网络安全 软件开发销售提成比例 dota服务器列表不显示房间 2021年国家网络安全周手指舞 大专计算机网络技术就业岗位 开发带access数据库的软件 数据库无法开启程序 轻量级linux服务器 海康kvm怎么切换服务器 郑州云时代互联网科技有限公司 怎么看电脑的数据库品牌型号 数据库服务器启动命令 山西省税务局网络安全宣传 小学网络安全小品
0