cannedtuna@lemmy.world to linuxmemes@lemmy.worldEnglish · 12 days agoSeriously, every time I gotta be out the door. Just let me shut you down.lemmy.worldimagemessage-square32linkfedilinkarrow-up11
arrow-up11imageSeriously, every time I gotta be out the door. Just let me shut you down.lemmy.worldcannedtuna@lemmy.world to linuxmemes@lemmy.worldEnglish · 12 days agomessage-square32linkfedilink
minus-squareTwilightKiddy@scribe.disroot.orglinkfedilinkEnglisharrow-up0·12 days agoAt least it tells you how long it’ll take before it decides to SIGKILL whatever is holding the shutdown sequence.
minus-squareThorry@feddit.orglinkfedilinkarrow-up0·12 days agoWell you say that, but I’ve seen the countdown go past and then reset to a higher number often.
minus-squareTwilightKiddy@scribe.disroot.orglinkfedilinkEnglisharrow-up0·edit-212 days agoI entrust you with this horror, go figure out what to blame. shutdown-analyze.sh #! /usr/bin/env bash shutdown_start=$(journalctl -b -1 -u systemd-logind --grep="System is (powering down|rebooting)" --output=cat --no-pager --output-fields=_SOURCE_REALTIME_TIMESTAMP) shutdown_start=$((shutdown_start / 1000000)) units=$(journalctl -b -1 --since=@$shutdown_start --output=cat --no-pager --output-fields=UNIT JOB_TYPE=stop CODE_FUNC=job_emit_start_message) for u in $units; do stopping_start=$(journalctl -b -1 --since=@$shutdown_start -u "$u" --output=cat --no-pager --output-fields=_SOURCE_REALTIME_TIMESTAMP JOB_TYPE=stop CODE_FUNC=job_emit_start_message _SYSTEMD_UNIT=init.scope) stopping_end=$(journalctl -b -1 --since=@$shutdown_start -u "$u" --output=cat --no-pager --output-fields=_SOURCE_REALTIME_TIMESTAMP JOB_TYPE=stop CODE_FUNC=job_emit_done_message _SYSTEMD_UNIT=init.scope) duration_human=$(systemd-analyze timespan $((stopping_end - stopping_start))us | tail -1 | sed 's/.*: //') printf "%s\t%10s %s\n" $((stopping_end - stopping_start)) "$duration_human" "$u" done | sort -rn | cut -f 2
A stop job is runningAt least it tells you how long it’ll take before it decides to SIGKILL whatever is holding the shutdown sequence.
Well you say that, but I’ve seen the countdown go past and then reset to a higher number often.
I entrust you with this horror, go figure out what to blame.
shutdown-analyze.sh
#! /usr/bin/env bash shutdown_start=$(journalctl -b -1 -u systemd-logind --grep="System is (powering down|rebooting)" --output=cat --no-pager --output-fields=_SOURCE_REALTIME_TIMESTAMP) shutdown_start=$((shutdown_start / 1000000)) units=$(journalctl -b -1 --since=@$shutdown_start --output=cat --no-pager --output-fields=UNIT JOB_TYPE=stop CODE_FUNC=job_emit_start_message) for u in $units; do stopping_start=$(journalctl -b -1 --since=@$shutdown_start -u "$u" --output=cat --no-pager --output-fields=_SOURCE_REALTIME_TIMESTAMP JOB_TYPE=stop CODE_FUNC=job_emit_start_message _SYSTEMD_UNIT=init.scope) stopping_end=$(journalctl -b -1 --since=@$shutdown_start -u "$u" --output=cat --no-pager --output-fields=_SOURCE_REALTIME_TIMESTAMP JOB_TYPE=stop CODE_FUNC=job_emit_done_message _SYSTEMD_UNIT=init.scope) duration_human=$(systemd-analyze timespan $((stopping_end - stopping_start))us | tail -1 | sed 's/.*: //') printf "%s\t%10s %s\n" $((stopping_end - stopping_start)) "$duration_human" "$u" done | sort -rn | cut -f 2