Heim  >  Artikel  >  System-Tutorial  >  Ausführliche Erklärung, wie beim Start von Linux Befehle oder Skripte automatisch ausgeführt werden

Ausführliche Erklärung, wie beim Start von Linux Befehle oder Skripte automatisch ausgeführt werden

王林
王林nach vorne
2024-02-11 15:30:04946Durchsuche

Ich war schon immer neugierig, was beim Hochfahren eines Linux-Systems und beim Anmelden passiert. Durch Drücken des Netzschalters oder Starten einer virtuellen Maschine lösen Sie eine Kette von Ereignissen aus, die Sie zu einem voll funktionsfähigen System führen, manchmal in weniger als einer Minute. Das Gleiche gilt, wenn Sie sich abmelden oder Ihren Computer herunterfahren.

详解在 Linux 启动时,如何自动执行命令或脚本

Ich war schon immer neugierig, was beim Hochfahren eines Linux-Systems und beim Anmelden passiert. Durch Drücken des Netzschalters oder Starten einer virtuellen Maschine lösen Sie eine Kette von Ereignissen aus, die Sie zu einem voll funktionsfähigen System führen, manchmal in weniger als einer Minute. Das Gleiche gilt, wenn Sie sich abmelden oder Ihren Computer herunterfahren.

Interessanter ist, dass Sie das System auch bestimmte Vorgänge ausführen lassen können, wenn das System startet und wenn sich der Benutzer an- oder abmeldet.

In diesem Artikel werden wir die traditionellen Methoden zum Erreichen dieser Ziele im Linux-Betriebssystem untersuchen.

Hinweis: Wir gehen davon aus, dass wir Bash als Haupt-Shell für die Anmeldung und Abmeldung verwenden. Wenn Sie eine andere Shell verwenden, funktionieren einige Methoden möglicherweise nicht. Bei weiteren Fragen schauen Sie bitte in der entsprechenden Shell-Dokumentation nach.

Linux-Skripte beim Start ausführen

Es gibt zwei traditionelle Möglichkeiten, Befehle oder Skripte beim Start auszuführen:

Methode Nr. 1 – Verwendung von Cron-Tasks

Zusätzlich zu den gängigen Formaten (Minute/Stunde/Tag/Monat/Woche) unterstützt der Cron-Scheduler auch den @reboot-Befehl. Der Parameter nach diesem Befehl ist der absolute Pfad des Skripts (das Skript, das beim Start ausgeführt werden soll). Bei diesem Ansatz sind jedoch zwei Punkte zu beachten:

  • a) Der Cron-Daemon muss ausgeführt werden (normalerweise wird er ausgeführt) und
  • b) Das Skript oder die Crontab-Datei muss die erforderlichen Umgebungsvariablen enthalten (falls vorhanden, siehe StackOverflow für weitere Details).

Methode Nr. 2 – Verwendung von /etc/rc.d/rc.local

Diese Methode gilt auch für die systemd-basierte Linux-Distribution. Um diese Methode verwenden zu können, müssen Sie jedoch der Datei /etc/rc.d/rc.local die Ausführungsberechtigung erteilen:

# chmod +x /etc/rc.d/rc.local

Dann fügen Sie das Skript am Ende dieser Datei hinzu.

Die folgende Abbildung zeigt, wie zwei Beispielskripte (/etc/rc.d/rc.local/home/gacanepa/script1.sh und /home/gacanepa/script2.sh) mithilfe von Cron-Tasks bzw. rc.local ausgeführt werden.
script1.sh:

#!/bin/bash
DATE=$(date +'%F %H:%M:%S')
DIR=/home/gacanepa
echo "Current date and time: $DATE" > $DIR/file1.txt

script2.sh:

#!/bin/bash
SITE="Tecmint.com"
DIR=/home/gacanepa
echo "$SITE rocks... add us to your bookmarks." > $DIR/file2.txt
详解在 Linux 启动时,如何自动执行命令或脚本

*Linux-Skript beim Start ausführen*

Denken Sie daran, den beiden Beispielskripten im Voraus Ausführungsberechtigungen zu erteilen:

$ chmod +x /home/gacanepa/script1.sh
$ chmod +x /home/gacanepa/script2.sh

Führen Sie Linux-Skripte beim Anmelden oder Abmelden aus

Um Skripte beim Anmelden oder Abmelden auszuführen, müssen Sie die Dateien ~.bash_profile bzw. ~.bash_profile verwenden. Letzteres muss in den meisten Fällen manuell erstellt werden. Fügen Sie am Ende jeder Datei den aufrufenden Skriptcode hinzu, wie im vorherigen Beispiel gezeigt, um diese Funktionalität zu erreichen.

Zusammenfassung

In diesem Artikel wird hauptsächlich beschrieben, wie Skripte beim Starten, Anmelden und Abmelden vom System ausgeführt werden.

Das obige ist der detaillierte Inhalt vonAusführliche Erklärung, wie beim Start von Linux Befehle oder Skripte automatisch ausgeführt werden. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:lxlinux.net. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen