An open API service indexing awesome lists of open source software.

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:

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.