Running a command as a background process/service

Mridang Agarwalla picture Mridang Agarwalla · Nov 17, 2011 · Viewed 48.6k times · Source

I have a Shell command that I'd like to run in the background and I've read that this can be done by suffixing an & to the command which causes it to run as a background process but I need some more functionality and was wondering how to go about it:

  1. I'd like the command to start and run in the background every time the system restarts.
  2. I'd like to be able to able to start and stop it as and when needed just like one can do service apache2 start.

How can I go about this? Is there a tool that allows me to run a command as a service?

I'm a little lost with this.

Thanks

Answer

MattMatt picture MattMatt · Nov 17, 2011

UNIX systems can handle as many processes as you need simultaneously (just open new shell windows if you're in a GUI), so running a process in the background is only necessary if you need to carry on using the current shell window for other things once you've run an application or process that keeps running.

To run a command called command in background mode, you'd use:

command &

This is a special character that returns you to the command prompt once the process is started. There are other special characters that do other things, more info is available here.