The source code to the world's first cross-platform, open source (MIT or LGPL), programming AND scripting language-agnostic solution to system service development.
If you are looking for binaries and instructions on using it, go here:
https://github.com/cubiclesoft/service-manager
For some strange reason you are overcome by a bizarre desire to build this software product yourself. There is no ./configure && make here. Just good old-fashioned shell scripts.
Windows (VC++ command-line): build.bat
Mac (gcc): build_mac.sh
Linux and many variants (gcc): build_nix.sh
You may need to chmod +x or something to get the script to run, but you already knew that.
The primary target platform for Service Manager is the unified x86/x64 architecture (Windows, Mac, and Linux). However, for *NIX platforms on other architectures (e.g. the fairly popular ARM architecture), Service Manager can be compiled and optionally installed on the target system.
Simply run:
./build_nix.sh local
sudo ./install_nix.sh
Which will put the compiled binary at /usr/local/bin/servicemanager
and the base service platform files into /usr/share/servicemanager/
.
When Service Manager is installed as described above, the Service Manager SDK will generally prefer using the installed version instead of binaries that are bundled with a project.
There is a test PHP-based service that handles 'notify.stop' and 'notify.reload' commands. It also supports - via the Service Manager PHP SDK - a couple of command-line options to make installation and removal easy:
php test_service.php install
php test_service.php start
php test_service.php stop
php test_service.php uninstall
php test_service.php configdump
You can, of course, write a test service in whatever language you want though. It's simple and straightforward.