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
|
# Bluetooth restart
|
||||||
function btrestart() {
|
function btrestart() {
|
||||||
echo "Restarting Bluetooth daemon..."
|
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
|
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() {
|
function _omz_macos_get_frontmost_app() {
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue