https://github.com/cubiclesoft/service-manager-src
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. Binaries:
https://github.com/cubiclesoft/service-manager-src
Last synced: about 1 year ago
JSON representation
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. Binaries:
- Host: GitHub
- URL: https://github.com/cubiclesoft/service-manager-src
- Owner: cubiclesoft
- Created: 2016-05-17T14:12:16.000Z (about 10 years ago)
- Default Branch: master
- Last Pushed: 2022-12-29T14:43:29.000Z (over 3 years ago)
- Last Synced: 2025-03-24T11:38:45.500Z (about 1 year ago)
- Language: C++
- Homepage: https://github.com/cubiclesoft/service-manager
- Size: 142 KB
- Stars: 18
- Watchers: 1
- Forks: 5
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
Service Manager (Source code)
=============================
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
Features
--------
* Statically compiled targets.
* Local build and global install option for some platforms.
* Has a liberal open source license. MIT or LGPL, your choice.
* Sits on GitHub for all of that pull request and issue tracker goodness to easily submit changes and ideas respectively.
Building 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.
Building and Installing Locally
-------------------------------
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.
Testing Service Manager
-----------------------
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.