Задачи, как Вы их описали, могут выполняться обычными программами, не даемонами.
Если нужен именно даемон, то его можно писать на чем угодно, даже на шелле. Если, критична производительность, пишите на си. Нужно позаботиться, чтобы даемон, оставаясь запущенным, слушал какой-либо сокет (общепринятый способ взаимодействия с ним). Самое простое - реализовать это через inetd.
PS. Запускаемая через inetd программа, сама по себе даемоном не является, хотя используется для тех же задач. Так что на шелле написать чистый даемон, слушающий сокет, не получится.