5 ms·
Running bash commands in the background properly
- plicense 12y agoAdded to /bin/sh
- pjbrunet 12y agoThe random shell output from "background" apps never bothered me that much ;-) Crunchbang you can just press F2 and get auto-complete and launch commands with no shell output. Ubuntu has something similar. If you have terminator, just split the pane if you need a fresh one, or drag the terminal to another workspace and it's out of the way. Also tmux has ^bd to "detach" I think.
- Too 12y agoI found 'screen' to be pretty handy for running scripts in the background. Then you can also reattach later to look at stdout as it's running.
- chinpokomon 12y agoScreen or tmux. I tend to prefer tmux, but the both have this ability. I'm actuality surprised that there isn't a more elegant choice other than redirecting stdout and stderr to /dev/null where you can fork jobs to a background and reattach later to see the tty. Is there a shell that has a job queue that can be accessed from any number of shells?
- ordinary 12y agoThere's this for attaching a running program to your terminal when it is not started in screen: https://github.com/nelhage/reptyr https://github.com/nelhage/reptyr
- xyzzy_plugh 12y agoUnderstanding whether background jobs get killed (via SIGHUP) or orphaned is not obvious without reading about the huponexit shopt. I've found some recent distros to not enable huponexit by default for login shells, and so this isn't always an issue. More importantly, understanding how your jobs behave when your SSH session is killed can be a huge timesaver.
- 0942v8653 12y agoWouldn't it be better to simply do "$@" "${FD[@]" & And also remember to alias ds='ds ' to enable alias expansion.