Führt Cron Jobs asynchron aus?

Führt Cron Jobs asynchron aus?

Wenn ich 5 Jobs in meine Crontab einfüge, werden sie dann asynchron parallel ausgeführt? Zwei meiner Jobs können 10 Minuten dauern und ich möchte wissen, ob ich sie im Hintergrund ausführen muss (indem ich am Ende des Befehls das & hinzufüge).

Antwort1

crontabEinträge werden unabhängig voneinander verarbeitet, die Jobs werden also asynchron und parallel ausgeführt. Sie müssen sie nicht im Hintergrund ausführen.

Wenn Sie jemals Jobs synchronisieren müssen, schauen Sie sich die Techniken an, die inKann ein Crontab-Job gleichzeitig mit sich selbst ausgeführt werden?.

Antwort2

Die genaue Reihenfolge, in der Jobs ausgeführt werden, hängt von der Implementierung des Crond Ihres Systems ab. Was ist Ihr Betriebssystem? Wenn Sie Cronjob in einer Crontab haben:

Job 1
Job 2
Job 3

In Debian wird Job1 gestartet, ohne auf die Beendigung von Job2 zu warten usw.
In Debian- und Ubuntu-Derivaten ist es von oben nach unten.
In FreeBSD ist es von unten nach oben.

Wenn sich Ihre Cronjobs in /etc/cron.hourly (oder täglich/monatlich/wöchentlich) befinden, führt das Skript, das sie ausführt, dies nacheinander und nicht parallel aus. (Ein Skript durchläuft sie in einer Schleife und wartet, bis jeder von ihnen beendet ist.)

BEARBEITEN Fügen Sie zwei verschiedene Cronjobs hinzu (hier gehe ich davon aus, dass Sie Syslog konfiguriert haben)
* * * * * ls /etc/
* * * * * echo "whatever
tail -f /var/log/cron

verwandte Informationen