Is such a think possible under Linux?
Yeah I know I can tmux / nohup, and I know that if I dig deep enough I can manually reattach some of the file descriptors under /proc to get a working terminal for that process again…
… but is there a tool that automatically does this somehow?
e.g.
run -d ./bash long-running.sh > proc.file
### later
run -a proc.file
Edit: Y’all really know how to recreate the feeling of StackOverflow circa 2018


This is a very confusing question. What is the concern about this file, and what do you mean about “reattach”? Is it a long running process? Why would locking thw file, or working in memory of tmp not work? Why is screen not an option?
Imagine you want to launch 1000 long standing processes as oneshots.
Nohup to a file would be a better usage than a screen multiplixier
Why:
“But you can extract a snapshot of your 1000 tmux windows to file and grep that for status!”
Yes, great, but it’s not a neat solution, and tmux/screen snapshots might not capture everything due to window rendering artefacts.
But what’s in this file?
If you’re just shuffling data around, use a database.
Log data, current status of a run, timestamp of an error, you name it.
These are oneshots. Of course you could use a proper workflow system with data provenance and lineage tracking baked in, but during the dev cycle of something new you usually want to play around and gather metrics first without worrying first about the architecture.
Please don’t X/Y me.
You’re right. A data ase would be absolutely stupid. Use a log shipping library instead.
Also, don’t A/B me.
Don’t both require me to know the nature of the data beforehand?
Please don’t B/M on me