Stretch + shutdown
Stretch + shutdown
Hallo,
was hat sich denn in Stretch bei dem shutdown Prozess geändert?
Bisher wurde bei shutdown -h +100& ..., die Datei:
"/var/run/systemd/shutdown/scheduled" erstellt, welche die shutdown Parameter enthielt.
Beim Abbruch, shutdown -c wurde diese Datei gelöscht.
Nun wird sie nicht mehr gelöscht.
Wo ist denn jetzt der Eintrag ob ein shutdown aktiv oder nicht aktiv ist?
Grüße
Klal
was hat sich denn in Stretch bei dem shutdown Prozess geändert?
Bisher wurde bei shutdown -h +100& ..., die Datei:
"/var/run/systemd/shutdown/scheduled" erstellt, welche die shutdown Parameter enthielt.
Beim Abbruch, shutdown -c wurde diese Datei gelöscht.
Nun wird sie nicht mehr gelöscht.
Wo ist denn jetzt der Eintrag ob ein shutdown aktiv oder nicht aktiv ist?
Grüße
Klal
Re: Stretch + shutdown
Shutdown gibts seit mehreren Jahren nicht mehr als eigenständiges Programm.... zumindest seit Jessie nicht mehr.
Du müsstest Dich also mal mit den Möglichkeiten von systemctl befassen..... bzw. auch ganz allgemein mit systemd. Mit systemd sehen die Befehle so aus:
offenbart einen Teil der Geheimnisse.....
https://unix.stackexchange.com/question ... e-shutdown
HTH
Code: Alles auswählen
ls /sbin/shutdown
lrwxrwxrwx 1 root root 14 2017-05-07 10:23 /sbin/shutdown -> /bin/systemctl
Code: Alles auswählen
systemctl halt
systemctl poweroff
systemctl restart
usw.
Code: Alles auswählen
man systemctl
Wenn man selber mit eigenen Jobs auf den Shutdown reagieren möchte, macht man das heute über das systemd->shutdown.target. Vielleicht hilft der folgende Link zu neuen Erkenntnissen:klal hat geschrieben:Wo ist denn jetzt der Eintrag ob ein shutdown aktiv oder nicht aktiv ist?
https://unix.stackexchange.com/question ... e-shutdown
HTH
Re: Stretch + shutdown
Danke erstmal.
weder
systemctl list-jobs shutdown.target
systemctl status systemd-shutdownd.service
noch
systemctl status | grep -i IrgendwasDasNachShutdownOderSchedulKlingt
bringen irgendwelche Erfolge.
Klar,
/var/run/systemd/shutdown/scheduled
wird offensichtlich von systemd erstellt - aber bisher wurde es mit shutdown -c auch immer wieder entfernt, so das man hier abfragen konnte ob und was für ein shutdown läuft.
Gefunden habe ich:
qdbus --literal --system org.freedesktop.login1 /org/freedesktop/login1 org.freedesktop.DBus.Properties.Get org.freedesktop.login1.Manager ScheduledShutdown
mit dem man einen laufenden Shutdown abfragen kann.
Gibt es denn dazu wirklich keine Alternative?
Irgendwas Verständlicheres?
weder
systemctl list-jobs shutdown.target
systemctl status systemd-shutdownd.service
noch
systemctl status | grep -i IrgendwasDasNachShutdownOderSchedulKlingt
bringen irgendwelche Erfolge.
Klar,
/var/run/systemd/shutdown/scheduled
wird offensichtlich von systemd erstellt - aber bisher wurde es mit shutdown -c auch immer wieder entfernt, so das man hier abfragen konnte ob und was für ein shutdown läuft.
Gefunden habe ich:
qdbus --literal --system org.freedesktop.login1 /org/freedesktop/login1 org.freedesktop.DBus.Properties.Get org.freedesktop.login1.Manager ScheduledShutdown
mit dem man einen laufenden Shutdown abfragen kann.
Gibt es denn dazu wirklich keine Alternative?
Irgendwas Verständlicheres?
Re: Stretch + shutdown
Also, "shutdown" kann man nach wie vor benutzen, es ist nicht obsolet.
"shutdown.target" bedeutet ein klein wenig was anderes als das "shutdown"-Kommando und deshalb
wäre das equivalente eher "systemctl poweroff".
Dummerweise hat systemctl leider keine Zeitangaben, so dass man beim "shutdown -h +xxx" bleiben will![Wink ;)](./images/smilies/icon_wink.gif)
Legt Dir halt eine alias an für Deinen qdbus-Ausdruck und/oder eröffne eine Bugreport zwecks fehlender Löschung.
"shutdown.target" bedeutet ein klein wenig was anderes als das "shutdown"-Kommando und deshalb
wäre das equivalente eher "systemctl poweroff".
Dummerweise hat systemctl leider keine Zeitangaben, so dass man beim "shutdown -h +xxx" bleiben will
![Wink ;)](./images/smilies/icon_wink.gif)
Legt Dir halt eine alias an für Deinen qdbus-Ausdruck und/oder eröffne eine Bugreport zwecks fehlender Löschung.
Re: Stretch + shutdown
Was bedeutet das? Was willst Du denn da abfragen? Oder willst Du einfach nur einformiert werden, dass der Shutdown veranlasst ist, um noch gewisse eigene Jobs sauber abzuschließen?klal hat geschrieben:mit dem man einen laufenden Shutdown abfragen kann.
Vielleicht ist der Befehl "shutdown" nicht obsolet, er funktioniert ja... man sollte nur die Tatsache akzeptieren, dass shutdown als Programm NICHT mehr exisitiert, sondern auf systemctl gesymlinkt ist. Das bedeutet, das die früheren echten Shutdown-Parameter eben nicht mehr funktionieren, es funktionieren nur noch die, die systemctl vorsieht. Ich halte es für keine clevere Entscheidung, nach Lösungen für das alte Shutdow-Programm zu suchen, sondern besser die Möglichkeiten nutzen, die systemd heute bietet.
Allerdings verheimlichst Du leider, was beim Shutdown wirklich zusätzlich passieren soll, bzw. was Du beim Shutdown eigentlich beabsichtigst.... insofern kann man da nur schwer helfen.
Re: Stretch + shutdown
Es bedeutet eigentlich genau das was da steht:
Wie kann man einen laufenden Shutdown abfragen?
Wurde ein shutdown -h +X gestartet?
Wie groß ist X? Wann fährt das System herunter?
Ich will es einfach nur wissen - mir anzeigen lassen. Wie mache ich das?
Eine Möglichkeit habe ich ja schon selber gepostet - die DBus-Abfrage.
Gibt es eine einsichtigere Alternative dazu?
Was verheimliche ich Deiner Meinung nach, das eine Antwort dazu erschwert?
Wie kann man einen laufenden Shutdown abfragen?
Wurde ein shutdown -h +X gestartet?
Wie groß ist X? Wann fährt das System herunter?
Ich will es einfach nur wissen - mir anzeigen lassen. Wie mache ich das?
Eine Möglichkeit habe ich ja schon selber gepostet - die DBus-Abfrage.
Gibt es eine einsichtigere Alternative dazu?
Was verheimliche ich Deiner Meinung nach, das eine Antwort dazu erschwert?
Re: Stretch + shutdown
Die Aussage stimmt so nicht:TomL hat geschrieben: Vielleicht ist der Befehl "shutdown" nicht obsolet, er funktioniert ja... man sollte nur die Tatsache akzeptieren, dass shutdown als Programm NICHT mehr exisitiert, sondern auf systemctl gesymlinkt ist. Das bedeutet, das die früheren echten Shutdown-Parameter eben nicht mehr funktionieren, es funktionieren nur noch die, die systemctl vorsieht.
"shutdown" wurde quasi in systemctl integriert und wenn man systemctl als "shutdown" aufruft, dann kann man ihm auch die Paramter aus dem "alten shutdown" übergeben.
Ein Programm, das sich ähnlich verhält, ist z. B. "busybox".
Man sieht es auch im Source Code: https://github.com/systemd/systemd/blob ... ystemctl.c
Beim schnellen Drüberfliegen, war mir aber nicht klar, wo bzw. wann die "scheduled"-Datei gesetzt wird (evtl. vom logind selbst).
Falls man einen Grund nicht in der Git-History findet für das "Nicht-löschen der scheduled-Datei", dann halt einen bugreport erstellen.
Re: Stretch + shutdown
Anhand des von Dir geposteten Source-Code-Links kann ich jetzt nicht prüfen, ob meine Aussage tatsächlich falsch ist. Dazu müsste man mal den Source-Code von "shutdown" aus Wheezy gegenprüfen. Aber leider finde ich da nix. Fakt ist, der alte Shutdown führt den Poweroff in Zusammenhang mit runlevel 1 durch.... und genau diese runlevels gibts unter systemd nicht mehr - insofern kann shutdown gar nicht unverändert übernommen worden sein. Das möglicherweise einzelne Parameter so sind wie früher, ist vermutlich dem Umstand geschuldet, dass viele Leute nix neues lernen wollen. Aber der Shutdown läuft unter systemd eben definitiv anders ab, als noch unter wheezy.... und zwar nicht mehr nach statischen runlevel-Kriterien ab, sondern nach den in den Units gesetzten Abhängigkeiten, die wiederum von Targets abhängig sind... und da ist sogar variabilität in der Reihenfolge zwischen zwei Boots möglich.dufty2 hat geschrieben:Die Aussage stimmt so nicht:
"shutdown" wurde quasi in systemctl integriert und wenn man systemctl als "shutdown" aufruft, dann kann man ihm auch die Paramter aus dem "alten shutdown" übergeben.
Re: Stretch + shutdown
Was willst Du bei einem laufenden Prozess zum Runterfahren des PC abfragen?klal hat geschrieben:Wie kann man einen laufenden Shutdown abfragen?
Wieviel % sind beim Runterfahren bereits abgearbeitet?
Welcher Prozess wurde gerade beim Shutdown beendet?
Welcher Prozess wird jetzt beendet?
Welcher Prozess wird als nächstes beendet?
Wieviel Zeit braucht es noch, bis der Shutdown durchgeführt ist?
Wie lange hat der ganze Shutdown gedauert? (Ne ganz spannende Frage *fg*, vor allem, wann man die Antworten bekommen kann)
All das bedeutet meiner Meinung nach "abfragen"... und sorry... das ist imho alles kokolores... was will man damit...?.. und solche Abfragen gehen meiner Meinung nach nicht.
Code: Alles auswählen
Wurde ein shutdown -h +X gestartet?
"man shutdown" zeigt, dass es X nicht mehr gibt, also kann man das auch nicht abfragen.Und wenn das shutdown.target angezogen wird, fährt der PC jetzt herunter... da gibts gar keine Verwechselung, jetzt heisst jetzt. Wenn X = Wartensekunden sind, mit der ich den Shutdown verzögern will, nehme ich einfachWie groß ist X? Wann fährt das System herunter?
Code: Alles auswählen
(sleep 30; systemctl poweroff) &
In einem zweiten TerminalIch will es einfach nur wissen - mir anzeigen lassen. Wie mache ich das?
Code: Alles auswählen
journalctl -f
Code: Alles auswählen
journalctl -b -1
Welchen Sinn die Anzeigen oder das Abfragen hat.... welches sinnvolle Ziel damit überhaupt errreicht werden soll.Wenns nur ums Anzeigen geht, enthält das Journal alles, was das Herz begehrt.Was verheimliche ich Deiner Meinung nach, das eine Antwort dazu erschwert?
Re: Stretch + shutdown
Man kann alle möglichen Dinge im laufenden Betrieb abfragen:
Welche Prozesse laufen, welche Benutzer angemeldet sind, an welchen Ports gelauscht wird, alles, wirklich alles kann man sich in Echtzeit anschauen.
Aber ob ein verzögerter shutdown gestartet ist und wann er ausgeführt wird, soll nicht abfragbar sein?
Zumal - wenn Du mein Posting gelesen hättest, wüßtest Du's - die Daten ja alle in "/var/run/systemd/shutdown/scheduled" stehen. Und bis Jessie konnte man dort also a) den Zeitpunkt des shutdown (und weiteres) erfahren und b) am Vorhandensein der Datei erkennen ob ein verzögerter shutdown gestartet wurde.
Das geht nun bei Stretch nicht mehr.
Aber deswegen, weil Du die Antwort auf meine Frage nicht weißt, meiner Frage den Sinn abzusprechen ist schon ziemlich arm.
Das Journal durchzuforsten ist was völlig anderes als einen aktuellen Systemstatus abzufragen.
Welche Prozesse laufen, welche Benutzer angemeldet sind, an welchen Ports gelauscht wird, alles, wirklich alles kann man sich in Echtzeit anschauen.
Aber ob ein verzögerter shutdown gestartet ist und wann er ausgeführt wird, soll nicht abfragbar sein?
Zumal - wenn Du mein Posting gelesen hättest, wüßtest Du's - die Daten ja alle in "/var/run/systemd/shutdown/scheduled" stehen. Und bis Jessie konnte man dort also a) den Zeitpunkt des shutdown (und weiteres) erfahren und b) am Vorhandensein der Datei erkennen ob ein verzögerter shutdown gestartet wurde.
Das geht nun bei Stretch nicht mehr.
Aber deswegen, weil Du die Antwort auf meine Frage nicht weißt, meiner Frage den Sinn abzusprechen ist schon ziemlich arm.
Das Journal durchzuforsten ist was völlig anderes als einen aktuellen Systemstatus abzufragen.
Re: Stretch + shutdown
klal hat geschrieben:Man kann alle möglichen Dinge im laufenden Betrieb abfragen:
:::
Aber deswegen, weil Du die Antwort auf meine Frage nicht weißt, meiner Frage den Sinn abzusprechen ist schon ziemlich arm.
:::
....als einen aktuellen Systemstatus abzufragen.
"laufender Betrieb" und "aktueller Systemstatus" (was nachwievor möglich ist) ist was völlig anderes als einen "laufenden Shutdown abfragen". Ausserdem ist ein laufender Shutdown etwas anderes, als ein eingeplanter Shutdown. Solange Du also unterschiedliche Sachen nicht auch wirklich unterscheidest und nicht das Problem eindeutig spezifizierst und klar sagst, was Du erreichen willst, kann man das auch nicht lösen.klal hat geschrieben:Wie kann man einen laufenden Shutdown abfragen?
Fakt ist, den laufenden Shutdown abzufragen, ist imho nicht nur Blödsinn, sondern (ebenfalls imho) auch nicht möglich. Du kannst auf einfachen Weg eine Info kriegen, dass das shutdown.target gestartet wurde, um darauf zu reagieren. Aber das shutdown.target zieht danach seinen Job durch, ohne das man imho den Ablauf detailliert abfragen kann. Man kriegt allenfalls Infos an seine eigenen Units, die während des Shutdowns von systemd aufgefordert werden, sich zu beenden oder die, wenn sie nicht reagieren, nach einem Timeout via SIGTERM beendet werden.
Re: Stretch + shutdown
Ich weiß wirklich nicht ob Du mich absichtlich mißverstehen willst weil Du die Antwort nicht kennst oder ob Du tatsächlich verwirrt bist weil ich ein paar Sachen durcheinander gewürfelt habe und Du das Problem wirklich nicht heraus lesen kannst.
Ein letzter Versuch - an einem Beispiel:
1. Ich führe um 15:00 als root folgenden Befehl aus: shutdown -h +30&
Wie der funktioniert interessiert mich nicht.
Er funktioniert! und in 30 Min., um 15:30 wird das System herunter gefahren.
2. Ich führe innerhalb der nächsten 20 Min. den Befehl X aus.
Mir wird angezeigt: Um 15:30 wird das System herunter gefahren.
Wie lautet der Befehl X ?
Ein letzter Versuch - an einem Beispiel:
1. Ich führe um 15:00 als root folgenden Befehl aus: shutdown -h +30&
Wie der funktioniert interessiert mich nicht.
Er funktioniert! und in 30 Min., um 15:30 wird das System herunter gefahren.
2. Ich führe innerhalb der nächsten 20 Min. den Befehl X aus.
Mir wird angezeigt: Um 15:30 wird das System herunter gefahren.
Wie lautet der Befehl X ?
Re: Stretch + shutdown
Nee, das ist wirklich ganz einfach.... präzise Frage ermöglichen präzise Antworten... und Deine Frage hatte mit dem, was Du eigentlich willst, so gut wie nix zu tun.klal hat geschrieben:Ich weiß wirklich nicht ob Du mich absichtlich mißverstehen willst
Ich hätte gefragt "wie kann ich die Uhrzeit des eingeplanten Shutdown-Befehl abfragen?". Und auch das ist wirklich einfach:
Code: Alles auswählen
# systemctl status systemd-shutdownd.service
systemd-shutdownd.service - Delayed Shutdown Service
Loaded: loaded (/lib/systemd/system/systemd-shutdownd.service; static)
Active: inactive (dead) since Fr 2017-06-30 16:04:14 CEST; 1s ago
Docs: man:systemd-shutdownd.service(8)
Process: 1896 ExecStart=/lib/systemd/systemd-shutdownd (code=exited, status=0/SUCCESS)
Main PID: 1896 (code=exited, status=0/SUCCESS)
Status: "Exiting..."
# shutdown 10
Shutdown scheduled for Fr 2017-06-30 16:14:34 CEST, use 'shutdown -c' to cancel.
# systemctl status systemd-shutdownd.service
systemd-shutdownd.service - Delayed Shutdown Service
Loaded: loaded (/lib/systemd/system/systemd-shutdownd.service; static)
Active: active (running) since Fr 2017-06-30 16:04:34 CEST; 5s ago
Docs: man:systemd-shutdownd.service(8)
Main PID: 1904 (systemd-shutdow)
Status: "Shutting down at Fri 2017-06-30 16:14:34 CEST (poweroff)..."
CGroup: /system.slice/systemd-shutdownd.service
└─1904 /lib/systemd/systemd-shutdownd
Jun 30 16:04:34 PC systemd[1]: Started Delayed Shutdown Service.
Jun 30 16:04:34 PC systemd-shutdownd[1904]: Shutting down at Fri 2017-06-30 16:14:34 CEST (poweroff)...
Re: Stretch + shutdown
Mmmh,
Das ist jetzt zwar buster (testing), dürfte aber in stretch (stable) auch so sein, vgl. auch
https://utcc.utoronto.ca/~cks/space/blo ... OfShutdown
Code: Alles auswählen
# systemctl status systemd-shutdownd.service
Unit systemd-shutdownd.service could not be found.
#
https://utcc.utoronto.ca/~cks/space/blo ... OfShutdown
Re: Stretch + shutdown
Oh... was ist das denn....? ...
Ich habe das gerade hier an einem Jessie-PC getestet.... fehlerlos.... das ist allerdings wirklich jetzt sehr eigenartig....
... und erst Mal bin ich sprachlos.... scientific...?.... huhu... ![Wink ;)](./images/smilies/icon_wink.gif)
![Shocked 8O](./images/smilies/icon_eek.gif)
Ich habe das gerade hier an einem Jessie-PC getestet.... fehlerlos.... das ist allerdings wirklich jetzt sehr eigenartig....
![Confused :?](./images/smilies/icon_confused.gif)
![Wink ;)](./images/smilies/icon_wink.gif)