#!/bin/bash

# Define variables
username="ENTER_USER_NAME"
hostname="ENTER_USER_HOSTNAME"

# Function to check if the user is logged in
is_user_logged_in() {
    who | grep -q "^$1 "
}

# Function to kill all processes associated with the user
kill_user_processes() {
    pkill -u "$1"
}

# Check if hostname is present
if grep -q "$hostname" /etc/passwd; then
    # Check if user is present
    if id "$username" &>/dev/null; then
        # Check if the user is logged in
        if is_user_logged_in "$username"; then
            echo "User $username is currently logged in. Attempting to log them out..."
            kill_user_processes "$username"
            sleep 2  # Wait for processes to terminate
            if is_user_logged_in "$username"; then
                echo "Failed to log out user $username. Aborting deletion."
                exit 1
            else
                echo "User $username has been logged out."
            fi
        fi
        
        # Delete user account
        sudo userdel --force "$username"
        echo "User $username has been deleted."
    else
        echo "$username has been deleted."
    fi
else
    echo "Hostname $hostname not found. Exiting..."
    exit 1
fi