Saving a process running in the foreground

Did you start a script running in a bash shell and then need to pack your laptop up in a hurry? Did you commit the dual crimes of forgetting to background your task and to nohup? Tsk, you are a bad man. Like you, I had previously consigned such tasks to the dustbin, resigned to the fact they were unsalvagable.

But wait, bash comes to the rescue. You can retroactively nohup your tasks even if they are running in the foreground! Who knew?

1) Get your shell back with CTRL-Z. This puts the process into pause mode.

2) Find the job ID using jobs –l and reactivate the process with bg <job number>

3) Finally, use the bash function disown to prevent SIGHUP signals taking down your process when your shell quits, i.e. disown –h <PID>

Voila! You can now undock your laptop and meet your hot date without losing your work progress!

Upgrading Windows 7 Home Premium to Enterprise

I got Hannah a new laptop which came with the rather long-in-the-tooth XP installed. I had already bought and installed Windows 7 Home Premium on my work laptop. I wanted to move the Home Premium license to the new laptop. Then I wanted to upgrade my work laptop to Windows 7 Enterprise which is offered by my workplace.

Sounds simple (and legal, right?). Unfortunately:

  • Windows 7 Home Premium refused to activate after doing a clean install on the new laptop citing not being an upgrade (as I had wiped XP first).
  • Windows 7 Enterprise would refuse to do an upgrade from Windows 7 Home Premium, insisting on a clean install.

I found a way round both these problems which I share in case it helps anyone else. Activating Windows 7 was easy enough, simply use the phone activation wizard, call Microsoft’s toll-free number and enter in the 8 sets of digits to receive an activation code.

Upgrading from Home Premium was possible, but I had to make the following registry changes first:

Under ComputerHKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersion modify the following keys:

  • EditionID from “HomePremium” to “Enterprise”.
  • ProductName from “Windows 7 HomePremium” to “Enterprise”.

After doing this and running the Windows 7 installer, the upgrade process worked fine first time.

Despite the installation issues I find Windows 7 to be a huge leap forward for Microsoft operating systems. Remarkably stable, responsive, and with a pleasing user interface. My Lenovo T60 used to blue screen intermittently but this has stopped happening since installing Windows 7.