Re: Sleep freezing

joe_at_invalid.address
Date: 08/11/03


Date: Mon, 11 Aug 2003 19:31:45 GMT

beagleboythefirst@hotmail.com (Tom) writes:

> Ed Morton <mortonAVOIDINGSPAM@Lucent.com> wrote in message
> news:<3F37AA37.5030609@Lucent.com>...
> > On 8/11/2003 9:04 AM, Tom wrote:
> > > Hi all,
> > >
> > > I seem to be having some problem with the sleep command and was
> > > wondering if someone could help.
> > <snip>
> > > exec /test/bin/start_server.sh > $LOGDIR/apgserver.log &
> >
> > Get rid of this "exec".
> >
> > > SERVER_PID=$!
> > > echo "Sleeping for 5 to allow Web Server to start..."
> >
> > Bet you aren't seeing this "echo" either.
> >
> > > sleep 5
> > >
> > > #echo "The current directory is : `pwd`"
> > >
> > > -----------------------------------------------------------------------
> > >
> > > I never reach the line that prints out the current directory for the
> > > second time???.
> >
> > I'd uncomment that line too 8-).
> >
> > man exec.
> >
> > Ed.
>
> Hi Ed.
>
> Thanks for your help. Sorry that second line is actually uncommented
> in my code. Just an error as I typed it in.
>
> I read the man page for exec and still dont fully understand what it
> does.
>
> Quote ->
> This command treats its arguments as the specification of
> one or more subprocesses to execute. The arguments take the
> form of a standard shell pipeline where each arg becomes one
> word of a command, and each distinct command becomes a sub-
> process.

The word "execute" means to replace the program running in the calling
process with the program specified as the first argument to
execute.

A process is an operating system defined region of (probably virtual)
memory, within which a program runs. If one program execs another, it
gets replaced by the other program in the process.

> When it says that the arguments take the form of a standard shell
> pipeline does that mean that each seperate command has to be
> seperated by a pipe symbol. Also it says that each command is
> executed in a subprocess. When you execute a command from the shell
> is it not the inherent behaviour that the command is executed as a
> subprocess?

A standard shell pipeline is defined in
http://www.opengroup.org/onlinepubs/007904975/utilities/xcu_chap02.html#tag_02_09_02

> If I have a script which calls another script in the following two
> ways what is the difference in their execution
>
> exec simplescript.sh &

I'm not sure I can answer this. Anyone know what effect & has in
an exec command line?

> and
>
> simplescript.sh &

This simply makes simplescript.sh run in the background, and the
calling shell continues executing.

> Also as a final (perhaps silly) question when a script is executed
> does this count as executing a process and will therefore have a
> processId or is it just the commands within this script that will
> have processIds?

The exec command replaces the process running the calling program with
the program being exec'd. The process id doesn't change, only what's
being run in it.

Joe



Relevant Pages

  • Re: du command failing
    ... directory if the directory does not have a Read or Execute permission. ... From UNIX command line i have executed 'du' command. ... From [exec] manpage: ...
    (comp.lang.tcl)
  • RE: COMMAND field of TSO LOGON panel
    ... The issue is that the logon proc being executed directly launches into ISPF, ... If you exit ISPF, allow the exec to run, then reenter ISPF ... COMMAND field of TSO LOGON panel ... However,it didn't execute it. ...
    (bit.listserv.ibm-main)
  • Re: exec() gives output??
    ... > I'd like to execute a command on the server ... > particular command takes a long time to execute, ... A successful call to exec() replaces the Perl script with whatever execis ...
    (comp.lang.perl.misc)
  • Get Table and Field Names
    ... To get a list of available tables in current database, ... execute the following command: ... EXEC sp_msforeachtable @command1='print REPLACE(REPLACE ... properties for a table, execute the ...
    (microsoft.public.dotnet.framework.adonet)
  • [Full-Disclosure] Advanced usage of system() function.
    ... and call its arguments as a command for shell. ... as we can see we still didnt get what we want (typing exit ... Connection closed by foreign host. ... think what we want to execute. ...
    (Full-Disclosure)