Wenn ich meine CentOS-Box boote, wird der httpd
Dienst automatisch gestartet. Wie erstelle ich einen benutzerdefinierten Dienst, der dasselbe tut? Ich habe ein Programm, das ich zum Mining verwende, und ich möchte es nicht bei ./miner
jedem Booten der Maschine ausführen müssen.
Antwort1
Da Sie CentOS 7.x verwenden, erstellen Sie eine Unit.as vim /usr/lib/systemd/system/miner.service
und root
fügen Sie den folgenden Inhalt ein:
[Unit]
Description=miner
[Service]
ExecStart=/path/to/miner
[Install]
WantedBy=multi-user.target
Sie können Optionen hinzufügen ExecStop=
, ExecReload=
wenn bestimmte Argumente zum Schließen oder Neuladen von Diensten verwendet werden.
Danach müssen Sie systemctl enable miner.service
es nur noch bei jedem Start starten.
Ähnliche Artikel:
Antwort2
Abhängig vom Anbieter des Miner-Programms ist der zugehörige Dienst möglicherweise bereits deklariert.
Unter CentOS können Sie Folgendes überprüfen:
# chkconfig --list
und wenn Sie Ihr Programm sehen, können Sie dem System sagen, es beim Booten automatisch auszuführen
# chkconfig postgresql on
Wenn Sie kein Ergebnis finden, können Sie Ihr eigenes Dummy-Skript erstellen, beispielsweise mithilfe einer Vorlage:
dann füge es in /etc/init.d/ ein und verwende chmod +x
Sie sollten in der Lage sein, Ihre Miner-Anwendung als Dienst mit allen damit verbundenen Vorteilen zu verwalten
Antwort3
Wenn Sie den Befehl nur beim Booten ausführen müssen, ist es nicht wirklich erforderlich, einen tatsächlichen Dienst zu erstellen. Am einfachsten ist es, . /path/to/miner
/etc/rc.d/rc.local einzufügen. Diese Datei ist ein Skript, das bei jedem Booten ausgeführt wird (und stellen Sie sicher, dass rc.local ausführbar ist), sodass Ihr Befehl ausgeführt wird, wenn der Server gestartet wird.
Wenn es jedoch tatsächlich als Dienst behandelt werden muss, hängt die beste Vorgehensweise davon ab, ob Sie CentOS 7 oder 5/6 verwenden.
edit: vergessen zu erwähnen, dass dies als Root ausgeführt wird, wenn Sie es also als Nicht-Root-Benutzer ausführen müssen, verwenden Sie stattdessensu - username -c /path/to/miner