diff options
| author | srdusr <trevorgray@srdusr.com> | 2025-09-24 05:45:26 +0200 |
|---|---|---|
| committer | srdusr <trevorgray@srdusr.com> | 2025-09-24 05:45:26 +0200 |
| commit | d96a422496fe3a6b80659a720e63c6abc41b7de9 (patch) | |
| tree | 20f90abb5ce91875a40027333efbb52877902132 /common/scripts/utils/sext | |
| parent | 521215add7da7fef6722c7b5adec839b84d72db0 (diff) | |
| parent | a1627ac743289e768b138f1a60753a62e0869cc4 (diff) | |
| download | dotfiles-d96a422496fe3a6b80659a720e63c6abc41b7de9.tar.gz dotfiles-d96a422496fe3a6b80659a720e63c6abc41b7de9.zip | |
Add 'common/scripts/' from commit 'a1627ac743289e768b138f1a60753a62e0869cc4'
git-subtree-dir: common/scripts
git-subtree-mainline: 521215add7da7fef6722c7b5adec839b84d72db0
git-subtree-split: a1627ac743289e768b138f1a60753a62e0869cc4
Diffstat (limited to 'common/scripts/utils/sext')
| -rwxr-xr-x | common/scripts/utils/sext | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/common/scripts/utils/sext b/common/scripts/utils/sext new file mode 100755 index 0000000..b120929 --- /dev/null +++ b/common/scripts/utils/sext @@ -0,0 +1,47 @@ +#!/bin/bash + +#Sext (Shutdown Exit) +# List of package managers to check for +package_managers=("emerge" "apt" "dnf" "pacman" "zypper") + +# Set how often to check (in seconds) +check_interval=30 + +# Check if any package manager is running +is_package_manager_running() { + for pm in "${package_managers[@]}"; do + if pgrep -x "$pm" >/dev/null; then + return 0 # Return 0 (true) if any package manager is running + fi + done + return 1 # Return 1 (false) if no package manager is running +} + +# Safely shutdown the system +safe_shutdown() { + # Try using shutdown without sudo first + if shutdown -h now; then + echo "Shutdown initiated successfully using 'shutdown'." + # If shutdown fails, try using poweroff + elif poweroff; then + echo "Shutdown initiated successfully using 'poweroff'." + # If poweroff fails, try using sudo poweroff + elif sudo poweroff; then + echo "Shutdown initiated successfully with 'sudo poweroff'." + # If both shutdown and poweroff fail, try with sudo shutdown + elif sudo shutdown -h now; then + echo "Shutdown initiated successfully with 'sudo shutdown'." + else + echo "Shutdown command failed. Please check your system configuration." + fi +} + +# Loop until no package manager process is running +while is_package_manager_running; do + echo "Package manager is still running. Checking again in $check_interval seconds..." + sleep "$check_interval" +done + +# Once the process completes, initiate a safe shutdown +echo "Package manager has finished. Attempting to shutdown..." +safe_shutdown |
