Move CLI initialization into a bootstrap function for sharing
Create new channels on each loop
FinishCh is still needed
Add a test for SIGHUP
Do not close the FinishCh unless we are in once mode