表头文件
#include<stdlib.h>
定义函数
int system(const char * string);
函数说明
system()会调用fork()产生子进程,由子进程来调用/bin/sh-c string来执行参数string字符串所代表的命令,此命>令执行完后随即返回原调用的进程。
在调用system()期间SIGCHLD 信号会被暂时搁置,SIGINT和SIGQUIT 信号则会被忽略。
The system function passes command to the command interpreter, which executes the string as an operating-system command.
system refers to the COMSPEC and PATH environment variables that locate the command-interpreter file (the file named CMD.EXE in Windows NT). If command is NULL, the function simply checks to see whether the command interpreter exists.
相关函数
fork,execve,waitpid,popen
返回值
=-1:出现错误
=0:调用成功但是没有出现子进程
>0:成功退出的子进程的id
如果system()在调用/bin/sh时失败则返回127,其他失败原因返回-1。若参数string为空指针(NULL),则返回非零值>。如果system()调用成功则最后会返回
执行shell命令后的返回值,但是此返回值也有可能为 system()调用/bin/sh失败所返回的127,因此最好能再检查errno 来确认执行成功。
附加说明
在编写具有SUID/SGID权限的程序时请勿使用system(),system()会继承环境变量,通过环境变量可能会造成系统安全的问题。
范例
#include<stdlib.h>
main()
{
system("ls -al ./*.c");
}
执行结果:
-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。
相关推荐
C语言附带超时功能的system函数,liuux版本 接口:int system_timeout(const char *cmdstring, int timeout)
附带超时功能的system函数,windows版本。 DWORD system_timeout(char* cmd, int timeout)
C语言进阶system函数.docx
C语言中的system函数详解[归类].pdf
system()函数功能强大。以下小编就为大家介绍一下在C语言中system()函数的用法。需要的朋友可以过来参考下,希望对大家有所帮助
主要介绍了C语言system 自动关机函数代码,需要的朋友可以参考下
C语言进阶system函数.rar
C语言程序设计(第2版)-2期 拓展知识5-4 system函数.pdf 学习资料 复习资料 教学资源
几个小函数,新手可以留下来保存一下可以学习学习,system的函数。。
linux C程序中获取shell脚本输出(如获取system命令输出)
C语言system()函数:执行shell命令 头文件: #include 定义函数: int system(const char * string); 函数说明:system()会调用fork()产生子进程, 由子进程来调用/bin/sh-c string 来...
9.4 MAIN函数与EXIT函数与函数的RETURN语句 46 9.5 多个源代码文件程序的编译 47 9.5.1 头文件的使用 47 9.5.2 #include与#define的意义 47 9.5.3 #ifndef与#endif 47 9.6 函数的递归 48 9.6.1 递归的过程分析 48 ...
//函数功能: 从终端读入字符集大小n , 以及n个字符和n个权值,建立哈夫曼树,并将它存于文件hfmTree中 //函数参数: //向量HT的前n个分量表示叶子结点,最后一个分量表示根结点,各字符的编码长度不等,所以按实际...
turboc2.zip: 较早的C语言编译器。DOS环境下运行。不能产生32位的程序。 安装:直接解包到c:\下,在DOS窗口中运行c:\turboc2下的tc.exe即可 ...可以在大型项目的源程序中迅速找到变量、函数等的定义及调用关系等
在本章内将介绍主要的文件操作函数。 文件打开函数fopen fopen函数用来打开一个文件,其调用的一般形式为: 文件指针名=fopen(文件名,使用文件方式) 其中,“文件指针名”必须是被说明为FILE 类型的指针...
通过for语句是界面循环,并有switch及system函数进行配合调节 达到目的。(界面显示如下) 2.测试结果:运行正常,达到了预订的目标。 此处为通过保存函数保存后的txt文本中的学生信息 六:心得 课程设计是一个不断...
函数原型: int system(char *command); 使用该函数需要添加头文件 1.打开程序 系统自带程序可直接使用start命令 system("start iexplore.exe"); //启动ie 非系统自带程序需要加入路径 system&...