# Offtopic: разница между exec prog и просто prog

## idealist

Не совсем про gentoo:

Какая разница между вызовом "exec prog" и просто "prog"?

----------

## pygoscelis

 *idealist wrote:*   

> Не совсем про gentoo:
> 
> Какая разница между вызовом "exec prog" и просто "prog"?

 

exec замещает вызывающий процесс вызываемым.

----------

## idealist

 *pygoscelis wrote:*   

> exec замещает вызывающий процесс вызываемым.

 

Иии для чего это может быть выгодго?

----------

## Zoltan

Если просто prog, то в памяти остается процесс, который вызвал этот prog, то есть, например, шелл bash. А если сделать exec, то вызывающий процесс замещается новым и перестает существовать, память занимать и т.д.

----------

## inv

Если в sh набрать ls, то он нормально отработает и sh продолжит дальше работать,

а если exec ls, то ls отработает а sh уже не будет работать.

----------

## Urs

```

Иии для чего это может быть выгодго?

```

Ну, например, скрипт пускает сам себя через exec и у него будет постоянный PID

Сравни.

Запусти на одной консоли test.sh, а на другой смотри на результат по top (включи показывать процессы только конкретного пользователя)

```

#!/bin/sh

exec ./test.sh

```

и

```

#!/bin/sh

./test.sh

```

----------

## idealist

Спасибо всем,

что за сегодня я

хоть на немножко стал умней.  :Very Happy: 

----------

