Da pagina de manual do bash(1), lah pela linha 3150...

exec [-cl] [-a name] [command [arguments]]
              If  command  is  specified,  it  replaces  the shell.  No new
process is created
traduzindo: Se um comando é especificado, ele toma o lugar do shell. Não é
criado um novo processo.
Basicamente, vc tem q pensar em gerencia de processos. O normal, qdo vc
chama um comando, o kernel "forka" (termo bonito, nao?) um novo processo, ou
seja, o bash q vc tava usando continua existindo e eh criado um novo
processo. Qdo vc usa o exec, o processo q vc chamou toma o lugar do bash.

Olha o exemplo:

Sem exec:
$ pstree -p | grep -B 1 pstree
                        |-bash(5593)-+-bash(5620)
                        |            `-pstree(5619)
conr...@conrado-tablet:~$ ksh
$ pstree -p | grep -B 1 pstree
                        |-bash(5593)---ksh(5621)-+-grep(5623)
                        |                        `-pstree(5622)

Com exec:
$ pstree -p | grep -B 1 pstree
                        |-bash(5563)-+-grep(5581)
                        |            `-pstree(5580)
$ exec ksh
$ pstree -p | grep -B 1 pstree
                        |-ksh(5563)-+-grep(5584)
                        |           `-pstree(5583)


Ajudei?

[]'s

Conrado

2009/11/10 Wairisson <[email protected]>

>
>
> alguém pode me dar uma descrição mais tangente do uso prático do comando
> exec ???
>
> Desde já obrigado a tdos !
>
>  
>



-- 
Conrado Pinto Rebessi
[email protected]
Linux Registered User #179496
http://counter.li.org - Get Counted!

|_|0|_|
|_|_|0|
|0|0|0|

Responder a