this post was submitted on 16 Dec 2025
44 points (94.0% liked)

Linux

14476 readers
508 users here now

A community for everything relating to the GNU/Linux operating system (except the memes!)

Also, check out:

Original icon base courtesy of lewing@isc.tamu.edu and The GIMP

founded 3 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
[–] Object@sh.itjust.works 24 points 7 months ago* (last edited 7 months ago) (7 children)

I have a script named d in my PATH and it contains this:

("$@" > /dev/null 2>&1 &)

It allows me to run any program in a fully detached state in a way that works even if the terminal that started the program closes, and it's as simple as d <command>.

[–] stewie410@programming.dev 5 points 7 months ago (2 children)

Shouldn't you end with & disown to fully detach?

[–] Object@sh.itjust.works 3 points 7 months ago* (last edited 7 months ago) (1 children)

IIRC disown is a shell built-in command, so its use is a bit limited. Not sure if & is also a built-in, but I found disown to not work in some situations. Besides, it's shorter.

[–] stewie410@programming.dev 2 points 7 months ago

shell built-in command

After looking into it a bit more, its at least a builtin for bash but is otherwise not POSIX. I guess nohup ... & would be the POSIX compliant equivalent, though still not a builtin.

Its my understanding that & backgrounds, not necessarily detaches, a process -- if the parent process closes, I think the background tasks would still be wait()ed on, if only using &.

load more comments (4 replies)