Linux – Recover a running script from a terminal session

bashgnu-screenlinuxterminal

So I'm using GNU Screen to manage multiple running scripts/programs. The multiplexing & detachability is quite helpful.

I removed a script from disk and now I'm having some trouble finding the backup. However, one of the terminal sessions was executing the script before the file was deleted and it continues to work just fine.

Is there a way to hijack the terminal session that is currently running the script to recover the contents of this file?

Best Answer

look for the script's pid using ps

ps -ef|grep script.sh
Fdo  8983  8463  0 12:28 pts/2    00:00:00 /bin/bash ./script.sh

check /proc/$PID/fd/; there should be a broken link to the script file, but cat should work (while the script is running!):

cat /proc/8983/fd/255 
#!/bin/bash
# script contents!

good luck!

Related Topic