mirror of
https://github.com/ohmyzsh/ohmyzsh.git
synced 2025-12-05 01:46:46 +01:00
Add validation to btrestart function
- Track old PID before killing bluetoothd - Wait for process to actually stop (5s timeout) - Wait for process to restart (10s timeout) - Verify new PID is different from old PID - Provide clear success/failure feedback - Handle edge cases (no process, restart failure) - Return proper exit codes (0=success, 1=failure) - Maintain simplicity while adding robustness This ensures users know if the restart actually worked.
This commit is contained in:
parent
23f825ff64
commit
897b56045d
1 changed files with 37 additions and 2 deletions
|
|
@ -20,8 +20,43 @@ alias hidefiles="defaults write com.apple.finder AppleShowAllFiles -bool false &
|
|||
# Bluetooth restart
|
||||
function btrestart() {
|
||||
echo "Restarting Bluetooth daemon..."
|
||||
|
||||
# Get the current bluetoothd PID before killing
|
||||
local old_pid=$(pgrep bluetoothd)
|
||||
|
||||
if [ -n "$old_pid" ]; then
|
||||
echo "Stopping bluetoothd (PID: $old_pid)..."
|
||||
sudo pkill bluetoothd
|
||||
echo "Bluetooth daemon restarted."
|
||||
|
||||
# Wait for the process to actually stop
|
||||
local count=0
|
||||
while pgrep -f "bluetoothd" >/dev/null 2>&1 && [ $count -lt 10 ]; do
|
||||
sleep 0.5
|
||||
count=$((count + 1))
|
||||
done
|
||||
|
||||
# Wait for bluetoothd to restart
|
||||
echo "Waiting for bluetoothd to restart..."
|
||||
count=0
|
||||
while ! pgrep bluetoothd >/dev/null 2>&1 && [ $count -lt 20 ]; do
|
||||
sleep 0.5
|
||||
count=$((count + 1))
|
||||
done
|
||||
|
||||
# Check if it restarted successfully
|
||||
local new_pid=$(pgrep bluetoothd)
|
||||
if [ -n "$new_pid" ] && [ "$new_pid" != "$old_pid" ]; then
|
||||
echo "✓ Bluetooth daemon restarted successfully (new PID: $new_pid)"
|
||||
elif [ -n "$new_pid" ] && [ "$new_pid" = "$old_pid" ]; then
|
||||
echo "⚠ Bluetooth daemon may not have restarted (same PID: $new_pid)"
|
||||
else
|
||||
echo "✗ Bluetooth daemon failed to restart"
|
||||
return 1
|
||||
fi
|
||||
else
|
||||
echo "No bluetoothd process found to restart"
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
|
||||
function _omz_macos_get_frontmost_app() {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue