Explain this like I'm five ./program </dev/null &>/dev/null &

/dev/null is a special device file which always returns.. nothing. Not even a newline. Void.

So.. you're piping nothing into that program. Feels a bit redundant but maybe there's a reason for it? I'd Just run the program without that bit.

The &> redirects both stdout AND stderr to the destination, which is again /dev/null. People do this to mute output but including errors. To keep errors you can just use > instead which only includes stdout by default, allowing errors to be seen.

Then, that & on the end as you've already established is used to instantly throw that job into the background and give you your prompt again.

These are all shell-specific functions involving your program and special device /dev/null.

Running man bash reveals a lot of these inner-workings in it's documentation.

/r/linuxquestions Thread