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


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
No. https://www.man7.org/linux/man-pages/man1/logger.1.html
Oh a systemd-logger, I dont have access to the logs, only the admin does. Plus I can’t reattach to the process that way
You can use it to log to a defined file in userspace. You don’t need to “reattach” to the process because all of the output goes through this util. Use signal handling to control the process.
You’re probably right that that’s likely enough for non-interactive tools