On Thu, Sep 28, 2017 at 04:27:31PM -0500, Austin English wrote
> (Note: serious discussion, please take systemd trolling elsewhere).
> 
> While having the pleasure of working with some proprietary software
> recently, I was asked to run `service foo restart`, and was surprised to
> see:
> foobar ~ # service foo restart
>  * service: service `foo' does not exist

  Ridiculous!  We need to develop one universal standard that covers
everyone's use cases.  https://xkcd.com/927/

  But if you insist, why not just set up a short bash script called
"service" rather than monkeying with every init system's internals?


#!/bin/bash
if [[ <condition_running_systemd> ]] ; then
   systemctl ${2} ${1}
elif [[ <condition_running_initrc> ]] ; then
   /etc/init.d/${1} ${2}
elif [[ <condition_running_some_other_init> ]] ; then
  <do whatever that init system requires>
else
   echo "ERROR: Unsupported init system; 'service' call failed"
fi


  This can handle a large number of different inits, with as many "elif"
lines as you care to add.  But, how do we reliably detect the currently
running init system?  Are there running processes, or entries in /sys/
or /proc/ or /dev that are unique to to each init system?

-- 
Walter Dnes <waltd...@waltdnes.org>
I don't run "desktop environments"; I run useful applications

Reply via email to