zsh-users
 help / color / mirror / code / Atom feed
From: Eric Cook <llua@gmx.com>
To: zsh-users@zsh.org
Subject: Re: exec
Date: Mon, 3 Jun 2024 10:50:42 -0400	[thread overview]
Message-ID: <bfd3b6e4-8fde-40ce-8d8a-b59d2dede9b8@gmx.com> (raw)
In-Reply-To: <aa551662-225c-44b4-8449-d56bd05cef7d@eastlink.ca>

On 6/3/24 10:42 AM, Ray Andrews wrote:
>
>
> On 2024-06-03 07:17, Mark J. Reed wrote:
>> The *exec* builtin replaces the running shell with whatever program you run.  The point is to avoid clogging the process table with shells that are just hanging out waiting to do nothing but exit as soon as their child process finishes.
> I get that.
>
>>
>> In your case, the script exists to set things up in the environment and then run xfce4-session; there's nothing for it to do after xfce4-session completes, so it uses *exec* to tidy up.
>
> Sure.  But then what?
nothing, the process was replaced with xfce-session.

  I understand that if a script or function has nothing more to do, it may as well pre-kill itself. But the difference is that 'exec' kills the entire terminal, it doesn't just return to the prompt in a more efficient way
How would it return to the prompt of a shell/process that was replaced with another process?

when you have a `terminal -> shell' and you run exit/^D the terminal no longer has a child process and exits.
when you have a `terminal -> shell that does exec -> utility' and utility exits, the terminal no longer has a child process and exits.



  reply	other threads:[~2024-06-03 14:51 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-06-03 14:10 exec Ray Andrews
2024-06-03 14:17 ` exec Mark J. Reed
2024-06-03 14:42   ` exec Ray Andrews
2024-06-03 14:50     ` Eric Cook [this message]
2024-06-03 14:54     ` exec Mark J. Reed
2024-06-03 15:16       ` exec Mark J. Reed
2024-06-03 15:29         ` exec Ray Andrews
2024-06-03 15:22       ` exec Ray Andrews
2024-06-03 15:33         ` exec Mark J. Reed
2024-06-03 15:59           ` exec Ray Andrews
2024-06-03 16:06           ` exec Bart Schaefer
2024-06-03 16:23             ` exec Ray Andrews

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=bfd3b6e4-8fde-40ce-8d8a-b59d2dede9b8@gmx.com \
    --to=llua@gmx.com \
    --cc=zsh-users@zsh.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.vuxu.org/mirror/zsh/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).