fish-shell/share/functions/suspend.fish

29 lines
803 B
Fish
Raw Normal View History

2018-01-18 22:15:49 +00:00
function suspend --description 'Suspend the current shell.'
set -l options 'h/help' 'f/force'
argparse -n suspend --max-args=1 $options -- $argv
or return
if set -q _flag_help
__fish_print_help suspend
2018-01-18 22:15:49 +00:00
return 0
2016-10-17 22:30:28 +00:00
end
2018-01-18 22:15:49 +00:00
if not set -q _flag_force
and status is-login
and status is-interactive
echo 2>&1 'Refusing to suspend interactive login shell.'
echo 2>&1 'Use --force to override. This might hang your terminal.'
return 1
end
2018-01-18 22:15:49 +00:00
if status is-interactive
echo -ns 'Suspending ' $pid ': run'
echo -n (set_color --bold) 'kill -CONT' $pid (set_color normal)
2018-01-18 22:15:49 +00:00
echo 'from another terminal to resume'
end
# XXX always causes a zombie until one fg's when we do this:
kill -STOP $pid
end