Hier ist der Auszug aus http://www.debian-administration.org/articles/28, der Ihre Frage zu beantworten scheint.
Hinweis: Im folgenden Beispielskript fügen Sie einfach einen Aufruf zum start)
Abschnitt " " hinzu, um Ihr Programm tatsächlich zu starten. Sie können die Funktionalität des Skripts testen, ohne das System neu zu starten: Rufen Sie es mit dem vollständigen Pfad auf und geben Sie den Parameter "start
" oder " stop
".
Hier geht:
Debian verwendet ein Sys-V-ähnliches Init-System, um Befehle auszuführen, wenn sich der Runlevel des Systems ändert - zum Beispiel beim Booten und Herunterfahren.
Wenn Sie einen neuen Dienst hinzufügen möchten, der beim Starten des Computers gestartet wird, müssen Sie das erforderliche Skript zum Verzeichnis hinzufügen /etc/init.d/
. Viele der Skripte, die bereits in diesem Verzeichnis vorhanden sind, geben Ihnen ein Beispiel für die Art der Dinge, die Sie tun können.
Hier ist ein sehr einfaches Skript, das in zwei Teile unterteilt ist: Code, der immer ausgeführt wird, und Code, der ausgeführt wird, wenn er mit "start" oder "stop" aufgerufen wird.
#! /bin/sh
# /etc/init.d/blah
#
# Some things that run always
touch /var/lock/blah
# Carry out specific functions when asked to by the system
case "$1" in
start)
echo "Starting script blah "
echo "Could do more here"
;;
stop)
echo "Stopping script blah"
echo "Could do more here"
;;
*)
echo "Usage: /etc/init.d/blah {start|stop}"
exit 1
;;
esac
exit 0
Sobald Sie Ihre Datei am richtigen Ort gespeichert haben, stellen Sie sicher, dass sie ausführbar ist, indem Sie "chmod 755 /etc/init.d/blah
" .
Anschließend müssen Sie die entsprechenden symbolischen Links hinzufügen, damit das Skript ausgeführt wird, wenn das System ausfällt oder hochfährt.
Am einfachsten geht das mit dem Debian-spezifischen Befehl update-rc.d
:
root@skx:~# update-rc.d blah defaults
Adding system startup for /etc/init.d/blah ...
/etc/rc0.d/K20blah -> ../init.d/blah
/etc/rc1.d/K20blah -> ../init.d/blah
/etc/rc6.d/K20blah -> ../init.d/blah
/etc/rc2.d/S20blah -> ../init.d/blah
/etc/rc3.d/S20blah -> ../init.d/blah
/etc/rc4.d/S20blah -> ../init.d/blah
/etc/rc5.d/S20blah -> ../init.d/blah
start-stop-daemon
es besser handhabt (obwohl es vorzuziehen ist, dass das Programm selbst dämonisiert). Welche Distribution benutzt du? Außerhalb von Desktop-MIME-Typen sind Dateierweiterungen in * nix bedeutungslos und es wird bevorzugt, dass ausführbare Dateien keine haben.