Git Product home page Git Product logo

sysmgr's Introduction

SYSMGR

NOTE: The POSIX sh implementation of sysmgr has been deprecated. Here is the C99 implementation which will receive updates and proper fixes. The reasoning behind this change can be found here.

SYSMGR is a service manager for Linux written in POSIX shell and simple C utilities. It reads the service scripts from the given SYSDIR (which is '/var/sysmgr' by default) and executes them asynchronously via RUNSYSSV. While exiting it sends a hangup signal to all RUNSYSSV processes.

Directory structure

docs/  -- Documentation
man/   -- Manual pages
utils/ -- C programs

sysmgr's People

Contributors

cemkeylan avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

sysmgr's Issues

Use fn_runsyssv instead of runsyssv

If we switch to using runsyssv internally, it will be easier
to track processes. We will also be sure that we are using
the intended sysmgr in rare case of duplicates.

Support for User Services

An idea that might just be scratched. Here is the deal,
we don't want root access to run user services. We also
don't want to run a second instance of sysmgr. Feedback
and ideas are welcome.

This is an idea for the future, svctl must be completely
stabilized before I get to this.

What can be done RIGHT NOW to run user services

  • Use a tool like sudo/su/chpst
    This can be done on the usual directory in services [requires root access].
  • Run a second instance of sysmgr
    The user can change its environment variables to point
    to his/her home directory. This either has to be done
    manually everytime, or requires the first sysmgr instance
    to do it for them, which again requires root access.

These are messy ways to do it, here is why.

A second instance of sysmgr

  • If you do run two instances of sysmgr, you need to change
    your environment variables between calls to different services.
  • Your home directory is filled with mess.
  • You don't get the advantages of the /run directory, which is
    basically a temporary directory.
  • The users could add a temporary directory for this purpose alone.
    But that would still require root access.

Using tools on root services to run user services

This is how I am currently handling it. I have some services that
just do chpst -u cem.

Ideas and questions for user services

  • They are stored in ~/.config/sysmgr or ~/.config/sysmgr/enabled
  • What is a reliable way of getting HOME and XDG_CONFIG_HOME variables for every non-system user?
  • Am I thinking too much on "could I do this" that I disregard "should I do this" ?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.