Segundo a man page do bash: exec [command [arguments]] - If command is specified, it replaces the shell. No new process is created. The arguments become the arguments to command.
Entendo que o processo do bash é substituído pelo comando invocado, por isso quando você fez "exec ls" o PID do primeiro bash foi substituído pelo ls e depois aquele bash retomou a execução. Existem duas utilidades interessantes para o exec. A primeira refere-se ao próprio processo de execução de um shell script onde, após o primeiro fork do shell para execução do script, o exec é chamado para substituir esse novo processo pelo programa a ser executado. Maiores detalhes abaixo: "running a shell script: Your shell forks, the child does an exec, > potentially the path is searched, the kernel opens the file and examines > enough bytes to determine how to run the file, in the case of a shell script > a shell must be started with the name of the script as its argument, the > shell then opens the file, reads it and executes the statements. " Uma segunda utilidade do exec refere-se ao redirecionamento de stdin, stdout ou ambos para arquivos. Veja o segundo link de referência para maiores detalhes. Atenciosamente Ricardo Hillbrecht Referências: http://www.gilesorr.com/bashprompt/howto/x263.html http://www.linuxtopia.org/online_books/advanced_bash_scripting_guide/x13082.html 2009/4/8 Pedro Borges <[email protected]> > > > Olá pessoal, > > Estou estudando para o exame 102 que agora cobra o comando exec. Eu entendi > que ele é usado para reaproveitar um processo existente na execução de um > novo comando ao invés de criar um sub-processo para o mesmo. > echo $$ > 39 > bash > echo $$ > 45 > exec ls > echo $$ > 39 > > Quando usei o exec ele recuperou o PID do primeiro comando. Até ai tudo > bem. Agora, qual a real utilidade do uso deste comando, alguém poderia dar > uma luz? > > Desde já muito obrigado. > > Abraço, > > Pedro > > ------------------------------ > Veja quais são os assuntos do momento no Yahoo! + Buscados: Top > 10<http://br.rd.yahoo.com/mail/taglines/mail/*http://br.maisbuscados.yahoo.com/>- > Celebridades<http://br.rd.yahoo.com/mail/taglines/mail/*http://br.maisbuscados.yahoo.com/celebridades/>- > Música<http://br.rd.yahoo.com/mail/taglines/mail/*http://br.maisbuscados.yahoo.com/m%C3%BAsica/>- > Esportes<http://br.rd.yahoo.com/mail/taglines/mail/*http://br.maisbuscados.yahoo.com/esportes/> > >
