Ich habe mir noch für sysvinit, ein Init-Script geschrieben. Das Script wird nur in rcS.d ausgeführt und soll bei einem Start des Rechner auf die Datei /var/opt/autoaus.marker prüfen und wenn die existiert selbige löschen, eine Screen-Session starten und diese in den Hintergrund packen; existiert die Datei nicht, soll es einfach nichts machen.
Code: Alles auswählen
#!/bin/sh -e
### BEGIN INIT INFO
# Provides: autoaus.marker
# Required-Start:
# Required-Stop:
# X-Start-Before:
# X-Stop-After:
# Default-Start: S
# Default-Stop:
# Short-Description: start a screen after reboot initiated from autoaus script
### END INIT INFO
case "$1" in
start)
echo -n "Proof for autoaus.marker... "
if [ -e "/var/opt/autoaus.marker" ]; then
rm "/var/opt/autoaus.marker";
screen -d -m /bin/bash;
fi
echo "done."
;;
stop)
;;
close)
;;
restart)
;;
*)
echo "Usage: $0 start"
exit 1
esac
exit 0
Jetzt habe ich das Problem, daß die Datei autoaus.marker von einem anderen Script zwar "vorschriftsmäßig" erstellt wird, das Startscript aber offensichtlich nicht ausgeführt wird, da die Datei /var/opt/autoaus.marker bei laufendem Rechner noch existiert und kein Screen läuft.
Wie bekomme ich es hin, daß das Script auch unter systemd aufgerufen wird? Kann ruhig als allerletztes sein, das ist vollkommen egal.