mirror of
https://github.com/fish-shell/fish-shell.git
synced 2024-11-22 14:43:55 +08:00
parent
cbee315b1b
commit
9642fcb589
|
@ -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.
|
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue
Block a user