http://www.perlmonks.org?node_id=652893


in reply to Re^2: Servers on Windows?
in thread Servers on Windows?

I'm still not managing to see where sshd fits into your question - unless you envision taking its code and turning it into your rpc server, which seems like severe overkill.

Yes, it is really trivial functionality. Start with Win32::Daemon; take the first part of the first example straight out of the pod:

use Win32::Daemon; # Tell the OS to start processing the service... Win32::Daemon::StartService(); # Wait until the service manager is ready for us to continue... while( SERVICE_START_PENDING != Win32::Daemon::State() ) { sleep( 1 ); } # Now let the service manager know that we are running... Win32::Daemon::State( SERVICE_RUNNING );
followed by the single-threaded server code straight out of the perl doc at http://perldoc.perl.org/perlipc.html#TCP-Servers-with-IO%3a%3aSocket, modified to just run your sysadm program and return its output in the body of the accept loop.

(Untested...)