WinFuture-Forum.de: Systemd Service startet, beendet sich aber direkt wieder - WinFuture-Forum.de

Zum Inhalt wechseln

Nachrichten zum Thema: Linux
Seite 1 von 1

Systemd Service startet, beendet sich aber direkt wieder Journalctl sagt mir jetzt gerade nicht viel


#1 Mitglied ist offline   der dom 

  • Gruppe: aktive Mitglieder
  • Beiträge: 330
  • Beigetreten: 14. Juni 12
  • Reputation: 38

geschrieben 09. Mai 2019 - 19:32

Hi,

ich habe eine DotNetCore Anwendung die als Service laufen soll - soweit so schön. Ist auch nicht die erste die ich auf diese Weise starte und bei allen anderen hat es bisher geklappt.

Hier mal meine .service Config

[Unit]
Description=ListenToDB

[Service]
ExecStart=/usr/local/bin/dotnet ListenToFB.dll
WorkingDirectory=/var/opt/ListenToFB/
User=root
Group=root
Restart=on-failure
RestartSec=10
KillMode=process

[Install]
WantedBy=multi-user.target



Die Anwendung lauscht im Hintergrund nur auf Anrufe der FritzBox. Nichts wildes. Sie läuft auch wenn ich sie per dotnet /pfad/ListenToFB.dll starte.

Systemctl status sagt mir folgendes:

Zitat

● ListenToFB.service - ListenToDB
Loaded: loaded (/etc/systemd/system/ListenToFB.service; disabled; vendor preset: enabled)
Active: inactive (dead)

May 09 20:11:37 raspberrypi systemd[1]: Started ListenToDB.
May 09 20:15:05 raspberrypi systemd[1]: Started ListenToDB.


Journalctl sagt mir nicht was schief läuft. Die App beendet sich scheinbar einfach.


Noch zur Info - die Zielplattform ist .netcore 2.0 auf einem Raspberry Pi und wurde auch für linux-arm gepublished.

Dieser Beitrag wurde von der dom bearbeitet: 09. Mai 2019 - 19:50

Mit allem, was du tust, machst du offenkundig, mit welcher Einstellung du durch's Leben gehst. -- Steffen Glückselig
0

Anzeige



#2 Mitglied ist online   RalphS 

  • Gruppe: VIP Mitglieder
  • Beiträge: 8.666
  • Beigetreten: 20. Juli 07
  • Reputation: 1.073

geschrieben 09. Mai 2019 - 19:52

And that, children, is why we DO NOT use systemd in production.
"If you give a man a fish he is hungry again in an hour. If you teach him to catch a fish you do him a good turn."-- Anne Isabella Thackeray Ritchie

Eingefügtes Bild
Eingefügtes Bild
0

#3 Mitglied ist offline   der dom 

  • Gruppe: aktive Mitglieder
  • Beiträge: 330
  • Beigetreten: 14. Juni 12
  • Reputation: 38

geschrieben 09. Mai 2019 - 19:59

Ich hab jetzt mal noch einen weiteren try catch Block hinzugefügt und siehe da - et geht.

Was würdest du stattdessen nehmen RalphS?

[OT]
Mein Server macht gerade klick klick Geräusche bei den HDDs und startet sich plötzlich neu.....ohhh
[/IOT]
Mit allem, was du tust, machst du offenkundig, mit welcher Einstellung du durch's Leben gehst. -- Steffen Glückselig
0

#4 Mitglied ist online   RalphS 

  • Gruppe: VIP Mitglieder
  • Beiträge: 8.666
  • Beigetreten: 20. Juli 07
  • Reputation: 1.073

geschrieben 09. Mai 2019 - 20:26

Ich oute mich mal als altes Mensch und gebe zu, auf meinen Linuxboxen gerne sysvinit haben zu wollen. Kennt vermutlich keiner mehr. :ph34r:

Ja, die Kisten booten dann länger, aber so oft werden die nicht neugestartet.

SystemD ist mir persönlich viel zu geschlossen und vor allem, wenn was nicht tut, dann werden einem unnötig Steine in den Weg gelegt.

Klar isses eleganter, wenn man einfach nur "beschreiben" muß, was wann starten soll... aber das ist es mir nicht wert.


.. zugegeben, es ist vermutlich nur eine Frage der Zeit, bis BSD dieselbe Scheiße macht, die gucken sich viel zuviel von Linux ab. Aber bis dahin sag ich, lieber ein explizites Startscript als kritische Jobs an eine Blackbox delegieren, die das machen kann... oder auch nicht machen kann und mich nicht mal drüber informiert, wenn was schiefgeht.
"If you give a man a fish he is hungry again in an hour. If you teach him to catch a fish you do him a good turn."-- Anne Isabella Thackeray Ritchie

Eingefügtes Bild
Eingefügtes Bild
0

#5 Mitglied ist offline   der dom 

  • Gruppe: aktive Mitglieder
  • Beiträge: 330
  • Beigetreten: 14. Juni 12
  • Reputation: 38

geschrieben 09. Mai 2019 - 20:59

sysvinit sollte ich mir mal ansehen - Jessie hat das genutzt, Wheezy ist dann auf Systemd gegangen. So war mal der Tenor.

Protokolliert sysvinit denn besser? Journalctl gibt eigentlich absolut nur Müll aus was dotnet Anwendungen angeht. Es sei denn es geht um das FileSystem dann meckern das Journal wie wild - so meine Erfahrung bisher.

Was mich übelst nervt ist, dass bei systemctl status SERVICENAME nicht ausgegeben wird warum der Service abgeschmiert ist, selbst dann nicht, wenn man schon Exceptions wirft.
Mit allem, was du tust, machst du offenkundig, mit welcher Einstellung du durch's Leben gehst. -- Steffen Glückselig
0

#6 Mitglied ist online   RalphS 

  • Gruppe: VIP Mitglieder
  • Beiträge: 8.666
  • Beigetreten: 20. Juli 07
  • Reputation: 1.073

geschrieben 10. Mai 2019 - 00:06

Der kümmert sich um den Start von Dingen. Fürs Logging ist wer anders da. Unixprinzip. Ein Tool für ein Problem. :)

Aber man kann das exakte Startscript selber ausführen, ggfs auch mit sh -x, und kriegt die Ausgabe durchgereicht, außer man hat mutwillig stderr nach /dev/null geschickt. Oder man verwendet syslog, wenn man das will. Die Freiheit hat man. Dafür ist das offen.
"If you give a man a fish he is hungry again in an hour. If you teach him to catch a fish you do him a good turn."-- Anne Isabella Thackeray Ritchie

Eingefügtes Bild
Eingefügtes Bild
0

Thema verteilen:


Seite 1 von 1

1 Besucher lesen dieses Thema
Mitglieder: 0, Gäste: 1, unsichtbare Mitglieder: 0