I commonly need to run a specific screen session with 9-10 windows, most of which need to run either an interactive command, or simply a setup-type of command.

I do this via screen -c <config-that-specifies-ttys-and-commands>

The pseudo-code for my tty / command management looks like this:

screen -t foo_title <interactive_cmd_to_start_automatically>
screen -t bar_title <a_different_cmd_to_launchh>
... etc ...

The problem I am having is that, periodically, I need to stop these interactive commands, DROPPING TO A SHELL IN THE SAME TTY, doing some troubleshooting, then manually re-starting the command. Screen will have no problems running these commands, but once they complete, screen kills off that window / tty. (To try it out, just specify something like 'top' as the command to run. When you exit top, list your screen windows with Ctrl-A ". You'll see your top tty has totally vanished)

So my questions, in order: - Does screen support a native way to get your normal shell prompt after the command finishes, in the same TTY? - If so, how? - If not (which I think is the case), what's the cleanest way to invoke a shell, from the screen config, after said command finishes so that you still get the TTY and a shell prompt?


  • this is still not solved..
    – Alexis
    Jan 22, 2022 at 11:24

1 Answer 1


A simple solution is to run your command, then the shell, as a shell command, eg:

screen -t title  bash -c 'top; exec bash -i'
  • that doesn't give back the top command in the history to be run again manually
    – Alexis
    Jan 22, 2022 at 11:24

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .