`

C语言system函数介绍

 
阅读更多

表头文件

        #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函数参考颜色表(参考的是单元格的填充颜色和对应的文字)

    这里有关于C语言system函数的参考颜色表,可以直观地显示出system函数中的color命令里的0~F分别对应出什么颜色,适用于在color命令中,不知道怎么设置控制台的背景色和前景色的人,无论什么时候,你只要想用system...

    C语言附带超时功能的system函数,liuux版本

    C语言附带超时功能的system函数,liuux版本 接口:int system_timeout(const char *cmdstring, int timeout)

    一些常见的C语言的函数.docx

    本文将详细解析C语言中的一些常见函数,并介绍C语言的基础知识。 首先,我们来看`kbhit()`函数,这个函数主要用于检查当前是否有键盘输入。在程序运行时,如果用户按下了一个键,`kbhit()`会返回非零值,表示有键盘...

    C语言图形函数介绍

    C语言标准库并不提供图形绘制函数,但可以通过控制台I/O函数如`printf()`和`putc()`等来实现图形的绘制。例如,我们可以通过循环控制字符的位置来画出正方形: ```c #include void draw_square(int size) { for ...

    c语言图形函数介绍

    以上就是关于C语言图形函数的基本介绍。通过学习和实践,开发者可以利用这些工具创建出各种各样的图形应用程序,无论是简单的控制台图形还是复杂的2D/3D游戏。为了深入学习,建议动手编写代码,实践是最好的老师。

    C语言编写函数的方法

    S函数(System Functions)是Simulink中的一个特殊功能,它允许用户用C语言或其他编程语言实现自定义的动态系统行为。 S函数可以分为几个主要部分,首先是函数的初始化,这一部分通过函数mdlInitializeSizes()实现...

    C语言系统函数索引

    - 这些函数包括但不限于系统调用、错误处理、信号处理、文件操作等,如`system()`, `exit()`, `errno`, `perror()`等。 C语言系统函数是C编程的基础工具,掌握这些函数的使用对于编写高效、可靠的程序至关重要。...

    c语言中的system命令

    ### C语言中的system命令 在C语言编程中,`system`命令是一个十分强大的工具,它允许程序员通过C语言编写的程序来执行操作系统级别的命令。这对于需要与操作系统进行交互的应用程序来说是非常有用的。本文将详细...

    C语言利用钩子函数来实现鼠标操作

    ### C语言利用钩子函数实现鼠标操作详解 #### 一、钩子机制概述 Windows操作系统是基于事件驱动的,这意味着几乎所有交互操作都是通过消息传递来完成的。钩子(Hooks)是在这一机制之上的一种特殊机制,它允许...

    C语言中的时间函数

    本文将详细介绍C语言中用于处理时间的主要函数及其用法,帮助读者更好地理解和掌握这些重要的时间处理工具。 #### 核心概念与术语 在深入探讨具体的函数之前,首先需要理解几个核心的概念: - **`time_t`**:这是...

    Linux (C语言)函数库详解词典

    2. **POSIX系统接口**:在Linux环境下,C库还提供了POSIX(Portable Operating System Interface)标准规定的函数,如`fork`创建子进程,`exec`系列函数执行新程序,`pipe`和`socket`实现管道和网络通信,`pthread`...

    c语言函数与shell编程

    ### C语言函数与Shell编程 #### 一、嵌入式操作系统概述 嵌入式操作系统(Embedded Operating System,简称EOS)是一种专门为嵌入式系统设计的操作系统。它与传统的桌面操作系统如Windows有所不同,主要体现在以下...

    C语言附带超时功能的system函数,windows版本。

    附带超时功能的system函数,windows版本。 DWORD system_timeout(char* cmd, int timeout)

    C语言中的system函数详解[归类].pdf

    C语言中的system函数详解[归类].pdf

    C语言程序设计(第2版)-2期 拓展知识5-4 system函数.pdf

    《C语言程序设计——system函数详解》 在C语言编程中,system函数是一个十分实用的工具,它允许程序员在程序中直接执行DOS命令,极大地扩展了C程序的功能。system函数是C标准库中的一个函数,包含在`stdlib.h`...

    C语言中system&#40;&#41;函数的用法总结

    `system()` 函数在C语言中是一个非常有用的函数,它允许程序员执行操作系统级别的命令,比如运行其他程序、执行shell命令等。这个函数定义在`&lt;stdlib.h&gt;`头文件中,其基本语法是: ```c int system(const char *...

    C语言语法着色中文版函数大全.pdf

    函数名: system 功能: 执行系统命令。 函数名: time 功能: 获取当前时间。 函数名: unlink 功能: 删除指定文件。 函数名: write 功能: 写数据到文件。 以上只是C语言标准库中函数的一部分,每个函数都有其特定的...

    C语言进阶system函数.docx-综合文档

    **C语言进阶system函数详解** 在C语言编程中,`system()`函数是一个非常实用的工具,它允许我们在程序中直接执行操作系统级别的命令。这个函数在Windows操作系统下尤其常见,其功能是向DOS(Disk Operating System...

    c语言kbhit()函数的介绍

    ### c语言kbhit()函数的详细介绍 在C语言编程中,`kbhit()`函数是一个非常实用的功能,主要用于检测用户是否已经按下键盘上的某个键。这个函数通常被用于那些需要即时响应用户输入的应用程序中,例如游戏开发或者...

    C语言图形字符函数大全

    在C语言中,可以使用系统调用来实现这些功能,例如使用`system("cls")`(在Windows中)或`system("clear")`(在Unix/Linux中)清屏。至于光标定位,ncurses库提供了`move(y, x)`函数,可以将光标移动到指定的行y和列...

Global site tag (gtag.js) - Google Analytics