Dieses Repository enthält ein einfaches Beispiel für Daemon für Linux -Betriebssystem. Dieses Repository enthält auch Beispiele für Startskripte.
Wenn Sie super einfacher Daemon erstellen möchten, ist es sehr einfach. Sie können so etwas in C schreiben und es daemon.c nennen:
/* Compile this with gcc -o daemon daemon.c */
#include <unistd.h>
int main ( void )
{
while ( 1 ) {
/* TODO: do something usefull here ;-) */
sleep ( 1 );
}
} und schreiben Sie eine super einfache Systemd-Servicedatei namens simple-daemon.service :
[Unit]
Description=Super simple daemon
[Service]
Type=simple
ExecStart=/usr/bin/daemon
[Install]
WantedBy=multi-user.target
Und dann können Sie es als Unix -Daemon ausführen, aber ein solcher Daemon verfügt nicht über einige nette Funktionen wie Reloadin -Konfigurationsdateien, Liegerungen usw. Dieses Repository und Quellen können Ihnen helfen, zu verstehen, wie Unix -Dämonen funktioniert.
Um ein Beispiel für den Daemon zu erstellen, müssen Sie folgende Tools haben
Um ein Beispiel für Daemon zu erstellen, müssen Sie folgende Befehle eingeben:
git clone https://github.com/jirihnidek/daemon.git
cd daemon
mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX=/usr ../
make
sudo make install
Sie können den Dämon aus der Befehlszeile ausführen:
./bin/daemon
Das Ausführen der App auf diese Weise läuft jedoch nicht laufender Daemon. Schauen Sie sich die Befehlszeilenparameter und Argumente an
Usage: ./bin/daemon [OPTIONS]
Options:
-h --help Print this help
-c --conf_file filename Read configuration from the file
-t --test_conf filename Test configuration file
-l --log_file filename Write logs to the file
-d --daemon Daemonize this application
-p --pid_file filename PID file used by daemonized app
Wenn Sie ./bin/daemon mit Parameter --daemon oder -d ausführen, wird es echtes Unix -Daemon. Aber das ist nicht der Weg, wie Unix -Daemons heutzutage begonnen werden. Zu diesem Zweck werden einige Init -Skripte oder Dienstdateien verwendet.
Wenn Sie die Linux -Verteilung mithilfe von SystemD verwenden, können Sie das Start -Dämon mithilfe verwenden
systemctl start simple-daemon
systemctl status simple-daemon
systemctl reload simple-daemon
systemctl stop simple-daemon
HINWEIS: Die Einheitendateien
simple-daemon.serviceundforking-daemon.servicewerden während der Installation in das Verzeichnis/usr/lib/systemd/systemkopiert, indem Sie den Befehlmake install.
Wenn Sie Redhat 4/5/6 oder CentOS verwenden, können Sie versuchen, das Init -Skript zu verwenden:
cp daemon.init /etc/rc.d/init.d/daemond
Dann sollte es möglich sein, den Daemon mithemon zu steuern:
service daemon start
service daemon status
service daemon reload
service daemon stop