How to migrate a .NET Windows Service application to Linux using mono?

Raúl Roa picture Raúl Roa · Mar 12, 2009 · Viewed 29.2k times · Source

What would be the best approach to migrate a .NET Windows Service to Linux using mono? I've been trying to avoid executing the application as a scheduled command.

Is it possible to obtain a service/system daemon(in linux) like behavior?

Answer

gimel picture gimel · Mar 12, 2009

Under Linux, deamons are simple background processes. No special control methods (e.g start(), stop()) are used as in Windows. Build your service as a simple (console) application, and run it in the background. Use a tool like daemonize to run a program as a Unix daemon, and remember to specify mono as the program to be activated.

As noted by others, mono-service is a host to run services built with the ServiceProcess assembly. Services built for Windows can use this method to run unmodified under Linux. You can control the service by sending signals to the process (see man page).