linux的system () 函数详解

 
 

system(执行shell 命令)
相关函数
        fork,execve,waitpid,popen
表头文件
        #i nclude<stdlib.h>
定义函数
        int system(const char * string);
函数说明
        system()会调用fork()产生子进程,由子进程来调用/bin/sh-c string来执行参数string字符串所代表的命令,此命>令执行完后随即返回原调用的进程。在调用system()期间SIGCHLD 信号会被暂时搁置,SIGINT和SIGQUIT 信号则会被忽略。
返回值
=-1:出现错误
=0:调用成功但是没有出现子进程
>0:成功退出的子进程的id
        如果system()在调用/bin/sh时失败则返回127,其他失败原因返回-1。若参数string为空指针(NULL),则返回非零值>。
如果system()调用成功则最后会返回执行shell命令后的返回值,但是此返回值也有可能为 system()调用/bin/sh失败所返回的127,因此最好能再检查errno 来确认执行成功。
附加说明
        在编写具有SUID/SGID权限的程序时请勿使用system(),system()会继承环境变量,通过环境变量可能会造成系统安全的问题。
范例
        #i nclude<stdlib.h>
main()
{
system(“ls -al /etc/passwd /etc/shadow”);
}
执行结果:

-rw-r--r-- 1 root root 705 Sep 3 13 :52 /etc/passwd
-r--------- 1 root root 572 Sep 2 15 :34 /etc/shado

例2:

char tmp[];
sprintf(tmp,"/bin/mount -t vfat %s /mnt/usb",dev);
system(tmp);
其中dev是/dev/sda1。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/352629.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

隐马尔科夫模型C#语言算法实现

开发工具&#xff1a; Visual Studio v2010 .NET Framework 4 Client Profile 版本历史&#xff1a; V1.1 2011年06月09日 修正UMDHMM在Baum-Welch算法中存在的模型参数调整错误。 V1.0 2011年06月08日 将C语言实现的隐马尔科夫模型算法&#xff08;UMDHMM&#xff09;改为C#语…

绘制条形图python_小白学Python(13)——pyecharts 绘制 柱状图/条形图 Bar

Bar-基本示例 1 from example.commons importFaker2 from pyecharts importoptions as opts3 from pyecharts.charts importBar4 5 bar(6 Bar()7 .add_xaxis(Faker.choose())8 .add_yaxis("商家A", Faker.values())9 .add_yaxis("商家B", Faker.values())1…

初进JAVA职场面试小技巧:一个老学长的吐血之作!

看着一批批小白的遭遇&#xff0c;有些无奈&#xff0c;又跟我年轻时有些类似。今天正好有点时间&#xff0c;给你几个建议。 1、在结业之前一定要把自己参与过的项目仔细审视一下&#xff0c;一点要特别熟悉项目的流程功能&#xff0c;另外也要重视自己做过的模块&#xff0c;…

阿里云飞天系统的技术架构(转)

阿里云有以下五大优势&#xff1a;中国万网&#xff0c;提供虚拟主机托管的服务&#xff0c;而且还提供域名等服务&#xff0c;其客户群非常庞大。淘宝、阿里巴巴&#xff08;内部称&#xff1a;B2B&#xff09;、支付宝等其他子公司&#xff1a;有大量的数据分析业务&#xff…

Jenkins 流水线 获取git 分支列表_基于Jenkins的DevOps流水线实践

讲师介绍课程寄语我认为Jenkins是对我这些年运维经验的总结&#xff0c;起初我们运维同学都是编写脚本完成一些自动化的操作。而有了Jenkins我们可以将我们的运维经验与Jenkins设计理念融合完成自动化运维平台。全程最佳实践&#xff0c;Pipeline as Code&#xff0c;打通DevOp…

Java微服务:蛋糕是骗人的,但您不能忽略它

构建微服务实际上意味着什么&#xff1f; 通过微服务框架的眼光回答 忽略微服务的趋势已变得不可能。 有些人会说这只是另一个难以忍受的流行语&#xff0c;而另一些人会背诵打破巨石的优势或采取逆势方法并关注负面因素。 在本文中&#xff0c;我们将深入了解我们拥有的框架…

隐马尔科夫模型C#类库调用示例

[c-sharp] view plaincopyprint?using System; using Splash; namespace SplashCheck { class TestHMMCS { enum Weather { Sunny, Cloudy, Rainy }; // 隐藏状态&#xff08;天气&#xff09; enum Seaweed { Dry, Dryish, Damp, Soggy }…

芯片,开源,数学,计算机

近代数学好像没什么数学定理是中国人命名的&#xff0c;有也是凤毛麟角是广泛意义上的华人命名的。开源Linux内核好像也没有几行代码是中国人贡献的&#xff0c;通用CPU芯片美帝的&#xff0c;计算机美帝发明的&#xff0c;内存/硬盘/显示器&#xff0c;三星台湾造。20年前我大…

C#之继承

本文意在巩固基础知识&#xff0c;并不是对其进行深入剖析&#xff0c;如若对各位高手没有什么作用&#xff0c;请绕过。本文为原创文&#xff0c;所有示例均是博主测试过的&#xff0c;欢迎大家批评指正&#xff0c;如有转载请标明出处&#xff0c;谢谢。继承、封装和多态是面…

python的requests模块功能_python中requests模块的使用方法

本文实例讲述了python中requests模块的使用方法。分享给大家供大家参考。具体分析如下&#xff1a; 在HTTP相关处理中使用python是不必要的麻烦&#xff0c;这包括urllib2模块以巨大的复杂性代价获取综合性的功能。相比于urllib2,Kenneth Reitz的Requests模块更能简约的支持完整…

ODPS技术架构及应用实践

《程序员》杂志2014年10月刊《凌云》云计算大数据阿里云ODPShadoop摘要&#xff1a;ODPS是分布式的海量数据处理平台&#xff0c;提供了丰富的数据处理功能和灵活的编程框架。本文从ODPS面临的挑战、技术架构、Hadoop迁移到ODPS、应用实践注意点等方面带领我们初步了解了ODPS的…

ssh,scp带密码操作

1、远程执行&#xff0c;带密码参数 sshpass 安装命令&#xff1a; yum install sshpass 执行命令&#xff1a; sshpass -p "mima" ssh rootlocalhost --------参数小写p&#xff0c;密码mima 2、非22端口 ssh -p 9062 111.111.111…

junit 测试 dao_JUnit测试Spring Service和DAO(带有内存数据库)

junit 测试 dao这篇文章描述了如何为Spring Web Application的Services和DAO实现JUnit测试。 它建立在Spring MVC-Service-DAO-Persistence Architecture Example的基础上 。 从Github的Spring-Web-JPA-Testing目录中可以找到该示例。 提醒 测试装置 –固定状态&#xff0c;用…

C++判断文件夹是否存在

判断文件夹是否存在一、判断文件夹是否存在&#xff1a; 1.用CreateDirectory(".//FileManege",NULL);如果文件夹FileManege不存在&#xff0c;则创建。 2.或者if(_access(".//FileManege",0)-1)&#xff0c;表示FileManege不存在。 3.或者…

ODPS MR开发 WordCount

参考&#xff1a; ODPS初始篇--客户端配置和使用&#xff1a;http://blog.itpub.net/26613085/viewspace-1327313/ odps dship客户端使用&#xff1a;http://blog.itpub.net/26613085/viewspace-1328434/ 有了上面两篇文章&#xff0c;就可以使用ODPS的客户端&#xff1b;使用O…

跨域设置

# 参考&#xff1a; https://blog.csdn.net/linzi1994/article/details/82724429 https://www.cnblogs.com/ShaunChen/p/5998800.html# 配置详解&#xff1a; # 跨域设置 CORS_ORIGIN_ALLOW_ALL True # 允许所有域名 CORS_ALLOW_CREDENTIALS True # 允许获取cookie CORS_UR…

kdb q介绍

Q起源Kx systems公司的创始人之一Arthur Whitney在2003年研发了列式数据库KDB和它的操作语言q。q也可以写成Q。设计之初&#xff0c;q语言要做到简洁&#xff0c;高效和富表达性。 q的起源受到多种语言的启示。包括APL、LISP和函数式编程。 APL是一个向量语言&#xff0c;所以…

mysql多大_洞悉MySQL底层架构:游走在缓冲与磁盘之间

提起MySQL&#xff0c;其实网上已经有一大把教程了&#xff0c;为什么我还要写这篇文章呢&#xff0c;大概是因为网上很多网站都是比较零散&#xff0c;而且描述不够直观&#xff0c;不能系统对MySQL相关知识有一个系统的学习&#xff0c;导致不能形成知识体系。为此我撰写了这…

odps新手上路之安装Eclipse开发环境

只看楼主更多操作楼主 发表于: 2014-11-07—本帖被 亮伟 执行取消精华操作(2014-11-27)—准备工作&#xff1a;登录阿里云官网&#xff0c;开通odps服务。创建一个odps的project。安装odps的客户端&#xff0c;具体的方法见 传送门下载Eclipse并解压缩。建议到官网上下载。作…

mfc对话框在不同计算机上显示不全

出现&#xff2d;&#xff26;&#xff23;对话框在不同计算机上显示不全的或者显示大小不一样的活可以调整电脑的分辨率也可以在创建对话框时根据分辨率来调整控件。