linux中的简单exec程序

时间:2012-03-22 14:14:20

标签: linux operating-system exec

大家好我想问一个问题是什么是" 简单的执行" 我听过一些在哪里,我已经搜索过但是没有得到任何有用的答案都可以告诉我

  • 一个程序
  • 与操作系统有关的一些事情

提前致谢

2 个答案:

答案 0 :(得分:2)

exec系统调用用一些存储在磁盘中的程序替换当前正在运行的进程。它只保留原始进程的系统段(意思是:PID,文件描述符和其他系统内容) 它由Linux / Unix内核提供,有几种方法可以调用它,根据http://pubs.opengroup.org/onlinepubs/009604499/functions/exec.html中的POSIX检查各种exec定义。一个简单的演示程序将是:

#include <unistd.h>
#include <stdio.h>

int main()
{
    printf("Giving control to ls!\n");
    execl("/usr/bin/ls","ls",NULL);
    printf("This should never be printed..\n");
    return 0;
}

该程序打印一行并执行'ls',所以你会看到消息,然后是ls的输出,就是这样。由于您的流程已被替换,因此不会显示最后一行。

答案 1 :(得分:0)

所有编程语言都有exec函数。这些是用于从程序中调用系统shell / cmd的方法。

exec函数很危险,因为它们直接从外部与OS交互。