Job Control Commands: fg, bg and ctrl-z

Posted by Andrew McCombe on Tue Sep 16, 2014

I have a script polling a Beanstalkd queue and needed to put it into the background, and bring it to the front whilst debugging it.

I use screen to run the job in a virtual terminal and run the command and send it to the background with ‘&’:

This will start the script and push it to the background.

To get the process back, simply run the fg command:

The problem is that I can’t now send the process to the background again with the fg command. Instead you can use ctrl-z (control + z) to send it to the background. The first time you ctrl-z it will suspend the process. Hit bg again to push it to the background and resume it.