On Linux how to attach a `screen` to current command execution not using `screen`?
2/2
Aug 26, 6:26pm

On Linux, if you want to attach a detachable session (similar to screen) to a currently running command without using screen, you can use the reptyr tool. This allows you to move an existing process to a new terminal or a screen/tmux session.


Steps to Attach a Detachable Session to a Running Command

1. Install reptyr

If not already installed, you can install it using your package manager:

  • Debian/Ubuntu:
    bash
    sudo apt install reptyr
  • RHEL/CentOS:
    bash
    sudo yum install reptyr
  • Arch Linux:
    bash
    sudo pacman -S reptyr

2. Find the PID of the Running Command

Use ps or pgrep to find the Process ID (PID) of the command you want to attach:

bash
ps aux | grep "your_command"

or

bash
pgrep -f "your_command"

3. Attach the Process to a New Terminal

Open a new terminal and run:

bash
reptyr <PID>

This will move the process to the new terminal, allowing you to interact with it.


4. (Optional) Use tmux for Detachable Sessions

If you want a detachable session (like screen), you can:

  1. Start a tmux session:
    bash
    tmux new -s mysession
  2. Inside tmux, run:
    bash
    reptyr <PID>
  3. Detach from tmux with Ctrl+B D and reattach later with:
    bash
    tmux attach -t mysession

Alternative: Use disown to Keep a Process Running

If you just want to detach a process from the current terminal (but not attach it to a new one), you can use:

bash
disown -h %1

(Replace %1 with the job number from jobs.)


Key Notes

  • reptyr requires root privileges for some processes.
  • If the process is already in the background, you may need to bring it to the foreground first (fg).
  • Works best with single-process commands (not complex shells or scripts).

Would you like help with a specific use case?

Aug 26, 6:26pm

This is a shared conversation and may include unverified content that doesn't reflect Mistral AI's views. Login to resume chatting.

Vibe can make mistakes. Check answers. Learn more