Основным моментом будет отсоединение процесса от терминала, чтобы процесс не завершался, когда пользователь выходит из терминала. Если вы запускаете программу в режиме консоли, она завершается при выходе из системы, потому что это поведение по умолчанию для процесса, когда он получает сигнал SIGHUP.
Обратите внимание, что написание демона - это нечто большее, чем просто вызов демона (3). См. Как написать демон unix для получения дополнительной информации.