Простая exec программа в linux - PullRequest
0 голосов
/ 22 марта 2012

Привет всем, я хочу задать вопрос, что такое " simple exec" Я слышал это где-то и искал, но не получил никакого полезного ответа, может кто-нибудь сказать мне

  • Программа
  • что-то, связанное с операционной системой

Заранее спасибо

Ответы [ 2 ]

2 голосов
/ 22 марта 2012

Системный вызов exec заменяет текущий запущенный процесс некоторой программой, хранящейся на диске.Он сохраняет только системный сегмент исходного процесса (то есть: PID, файловые дескрипторы и другие системные компоненты). Он предоставляется ядром Linux / Unix, и есть несколько способов его вызвать, проверить различные определения exec согласно POSIX вhttp://pubs.opengroup.org/onlinepubs/009604499/functions/exec.html. Простая программа демострации будет выглядеть так:

#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, и все.Последняя строка не отображается, потому что ваш процесс был заменен.

0 голосов
/ 23 марта 2012

На всех языках программирования есть функции exec. Эти методы используются для вызова системной оболочки / cmd из программы.

exec-функции опасны, так как они напрямую взаимодействуют с ОС извне.

...