Update suspend docs. When used, show how to resume

Fixes #3154
This commit is contained in:
Aaron Gyes 2016-07-01 01:18:07 -07:00
parent cbee315b1b
commit 9642fcb589
2 changed files with 13 additions and 9 deletions

View File

@ -10,8 +10,6 @@ suspend [--force]
`suspend` suspends execution of the current shell by sending it a
SIGTSTP signal, returning to the controlling process. It can be
resumed later by sending it a SIGCONT. In order to prevent suspending
a shell that doesn't have a controlling process, it will not suspend a
the shell if it is a login shell or if `$SHLVL` is less
`$suspend_minimum_SHLVL`, which defaults to three. This test is
skipped if the `--force` option is given or the shell is not
interactive.
a shell that doesn't have a controlling process, it will not suspend
the shell if it is a login shell. This requirement is bypassed
if the `--force` option is given or the shell is not interactive.

View File

@ -1,10 +1,16 @@
function suspend -d "Suspend the current shell."
if begin contains -- $argv --force
or not status --is-interactive and not status --is-login
end
echo Suspending %self
kill -STOP %self
end
echo "Suspending" %self
echo -n (set_color --bold)" fg"(set_color normal) to resume
if contains -- $argv --force
echo " (or"(set_color --bold) "kill -CONT" %self (set_color normal)"from another terminal)"
end
kill -STOP %self
else
echo 2>&1 Cannot suspend login shell. Use --force to override.
echo 2>&1 "Refusing to suspend login shell. Use --force to override."
echo 2>&1 "This might hang your terminal."
end
end