Software > Alternative Betriebssysteme

Deamon / Dienst sauber unter Mint einbinden

<< < (2/2)

Heinz Schmidt:
Hallo m0n0,

ob xaaes so ein gutes Beispiel ist für einen (Hintergrund)-Dienst? ich lasse Mint am liebsten zum Textlogin hochlaufen und starte dann xaaes (oder n.aes) per commando. Damit habe ich zumindest ein laufendes MiNT mit shell, falls XAAES mal wieder zickig ist.


--- Zitat von: m0n0 am Sa 07.01.2012, 01:52:16 ---... oder kann man init auch irgendwie anders starten - ausser ueber die mint.cnf?

--- Ende Zitat ---
Eigentlich kannst Du init "beliebig" starten, also auch aus der shell. Kannst ja mal in der bash init eingeben ... :-)

Nur ist das nicht wirklich sinnvoll. Beim Systemstart initialisiert es die für den runlevel konfigurierten Dienste. Unter MiNT (zumindest EasyMiNT) sind aber alle runlevel gleich konfiguriert, so das Du mit init außer beim Start praktisch wenig anfangen kannst. Theoretisch könntest Du aber verschiedene runlevel konfigurieren und mit init <runlevel> die jeweilige Konfiguration starten.

Die üblichen runlevel sind bei wikipedia ganz gut beschrieben.

Gruß Heinz

Heinz Schmidt:
Hallo zusammen,


--- Zitat von: Heinz Schmidt am Fr 06.01.2012, 16:46:59 ---Jetzt kommt noch der Start von lpspool in die mint.cnf und fertig ist der Lack :-)

--- Ende Zitat ---
Das habe ich mir ja wieder sehr schön einfach vorgestellt. Ich dachte mit einer netten Zeile ist das erledigt - z.B.

--- Code: ---exec "/usr/etc/lpspool >> /var/log/lpspool.log 2>&1"
--- Ende Code ---

Das geht leider nicht! Offenbar kann man beim exec statement nur einen einfachen Pfad zu einem Kommando ohne Parameter eingeben.

Folglich brauchte ich für den Start von lpspool ein kleines shell script. Ein simpler Einzeiler war mir dann doch zu doof, weil mit einem brauchbaren script für start, stop und status die typischen Funktionen für einen Dienst recht leicht umzusetzen waren.

Also habe ich nach Jahren mal wieder ein wenig Shell-Scripting geübt und folgendes Script erstellt.


--- Code: ---#!/bin/bash
#
# Simple lpspool control script for start/stop/status
#
# revision 0.03 - Heinz Schmidt - initial version
#

PATH=/bin:/usr/bin:/usr/local/bin:/sbin:/usr/sbin; export PATH

BINARY=/usr/etc/lpspool
LOGFILE=/var/log/lpspool.log
PIDFILE=/var/run/lpspool.pid

case $1 in
  start
    if [ -f $BINARY ]; then
      echo "Starting lpspool ..."
      date >> $LOGFILE
      $BINARY >> $LOGFILE 2>&1 &
      echo "lpspool pid: " $! >> $LOGFILE
      echo $! > $PIDFILE
    else
      echo "Error: program" $BINARY "not found!"
    fi
    ;;
  stop)
    if [ -f $PIDFILE ]; then
      read pid < $PIDFILE
      echo "Stopping lpspool (pid:" $pid")"
      kill $pid
      rm $PIDFILE
    else
      echo "lpspool is not running"
    fi
    ;;
  status)
    if [ -f $PIDFILE ]; then
      read pid < $PIDFILE
      echo "Status: lpspool is running (pid: " $pid")"
    else
      echo "lpspool is not running"
    fi
    ;;
*)
    echo "Usage: lpspool start|stop|status"  ;;
esac

--- Ende Code ---

Damit läßt sich nun lpspool recht gut steuern und statt aus der mint.cnf kann ich es auch z.B. aus der std.services starten und über die bash steuern.

Gar nicht so doof, was? Wenn ich nun noch meine lpd/lpr Konfig ordentlich hinbekomme, kann ich endlich richtig Drucken über's Netz ...

Das Script-schreiben hat so viel Spaß gemacht ... da könnte ich mich glatt dafür begeistern ein Installations-Script für den ganzen lp*-Kram zu basteln.

Gruß Heinz

m0n0:

--- Zitat ---ob xaaes so ein gutes Beispiel ist für einen (Hintergrund)-Dienst? ich lasse Mint am liebsten zum Textlogin hochlaufen und starte dann xaaes (oder n.aes) per commando. Damit habe ich zumindest ein laufendes MiNT mit shell, falls XAAES mal wieder zickig ist.
--- Ende Zitat ---

Nein, xaaes ist kein Hintergrunddienst - wird aber bei easymint von init gestartet - oder net? Deshalb ist es doch so problematisch mint / xaaes zu aktualisieren wenn man easymint nutzt - weil init nicht ersetzt wird und immer noch das alte xaaes starten will....

Heinz Schmidt:
Hallo m0n0,


--- Zitat von: m0n0 am Sa 07.01.2012, 16:21:20 ---Nein, xaaes ist kein Hintergrunddienst - wird aber bei easymint von init gestartet - oder net? Deshalb ist es doch so problematisch mint / xaaes zu aktualisieren wenn man easymint nutzt - weil init nicht ersetzt wird und immer noch das alte xaaes starten will....

--- Ende Zitat ---

Ja, ich glaube da hast Du recht. Wenn man es bei der Installation entsprechend angibt, startet EasyMint Xaaes und verwendet den expliziten Pfad. Ersetzt man dann Mint z.B. durch 1-17-cur stimmt und vergisst den Xaaes Pfad zu ändern, dann hat man den Salat. Das ist einer der Grüde, warumich lieber nur bis zum console login boot und dann das AES manuell starte ;-)

Gruß Heinz

Navigation

[0] Themen-Index

[*] Vorherige Sete

Zur normalen Ansicht wechseln