Ist es möglich, Perl, Python, PHP, Ruby oder was auch immer zu verwenden, um init.d-Skripte zu schreiben?

7

Ich bin neu in diesem SysOp-Zeug und frage mich, ob es möglich ist, andere interpretierte Sprachen zum Schreiben von init.d-Skripten zu verwenden.

Der Vorabunterschied für mich ist / bin vs. / usr / bin

#!/bin/sh

gegen

#!/usr/bin/perl
#!/usr/bin/php
#!/usr/bin/python
#!/usr/bin/ruby

Gibt es noch andere Punkte, die mir fehlen?

Lockhead
quelle

Antworten:

9

Ja. Es gibt Probleme mit Verfügbarkeit, Geschwindigkeit, Zuverlässigkeit, Wartbarkeit usw., aber Init-Skripte können beliebig geschrieben werden.

Wie in Ihrer Frage impliziert, muss das Dateisystem / usr bereitgestellt werden, bevor Sie die darauf befindlichen Interpreter verwenden können.

Es gibt Perl-Module für genau diese Aufgabe. Ein Beispiel ist Daemon :: Control . Es gibt viele weitere für Perl und die anderen Sprachen.

Bribles
quelle
2
Ich kann die Bedeutung der Verfügbarkeit in diesem Zusammenhang nicht genug betonen. Wir schreiben unsere Init-Skripte in Perl und sind zur Init-Zeit auf alle möglichen interessanten Rennbedingungen gestoßen: Sicher, der Interpreter ist verfügbar, aber was ist mit Perls site_lib? Was ist mit Bibliotheken von Drittanbietern, von denen es abhängt (Expat, Zlib, so etwas)? Der Abhängigkeitsbaum wird sehr schnell nicht trivial. Wenn Sie diesen Weg gehen, ist mein Rat, sehr vorsichtig zu sein und nur die Kernfunktionen des Dolmetschers zu verwenden.
Jeff Albert
Thx bribles und @ jeff-albert der Punkt für mich war, wenn es möglich ist, ich schreibe gerade ein paar Socket-Server-Sachen und überlege, warum ich das Init-Skript für diesen Server nicht in derselben Sprache schreibe. Und ja, die Hölle der Abhängigkeit ist überall ...
Lockhead