bash + 如何保存 shell 脚本

mai*_*ash 2 linux bash process kill ksh

是否可以在不终止进程的情况下保持/停止 bash 脚本进度?(通过 kill 命令)或其他命令

例如这个脚本 - install_linux_pkgs.bash ,将逐步安装 Linux pkgs

    ./install_linux_pkgs.bash
Run Code Online (Sandbox Code Playgroud)

我想要的是停止( HOLD / HANG )脚本在外部进行,但不要杀死它

kill -l
1) SIGHUP       2) SIGINT       3) SIGQUIT      4) SIGILL
5) SIGTRAP      6) SIGABRT      7) SIGBUS       8) SIGFPE
9) SIGKILL     10) SIGUSR1     11) SIGSEGV     12) SIGUSR2
13) SIGPIPE     14) SIGALRM     15) SIGTERM     16) SIGSTKFLT
17) SIGCHLD     18) SIGCONT     19) SIGSTOP     20) SIGTSTP
21) SIGTTIN     22) SIGTTOU     23) SIGURG      24) SIGXCPU
25) SIGXFSZ     26) SIGVTALRM   27) SIGPROF     28) SIGWINCH
29) SIGIO       30) SIGPWR      31) SIGSYS      34) SIGRTMIN
35) SIGRTMIN+1  36) SIGRTMIN+2  37) SIGRTMIN+3  38) SIGRTMIN+4
39) SIGRTMIN+5  40) SIGRTMIN+6  41) SIGRTMIN+7  42) SIGRTMIN+8
43) SIGRTMIN+9  44) SIGRTMIN+10 45) SIGRTMIN+11 46) SIGRTMIN+12
47) SIGRTMIN+13 48) SIGRTMIN+14 49) SIGRTMIN+15 50) SIGRTMAX-14
51) SIGRTMAX-13 52) SIGRTMAX-12 53) SIGRTMAX-11 54) SIGRTMAX-10
55) SIGRTMAX-9  56) SIGRTMAX-8  57) SIGRTMAX-7  58) SIGRTMAX-6
59) SIGRTMAX-5  60) SIGRTMAX-4  61) SIGRTMAX-3  62) SIGRTMAX-2
63) SIGRTMAX-1  64) SIGRTMAX
Run Code Online (Sandbox Code Playgroud)

cha*_*aos 5

您可以使用ctrl-停止该过程z。然后在终端中做任何你想做的事情。要继续该过程,请使用fg.

或者从另一个终端,使用:

kill -19 <pid>
Run Code Online (Sandbox Code Playgroud)

它向SIGSTOP进程发送(信号编号 19)。这在过程中是不可能捕捉到的。要继续该过程,请使用:

kill -18 <pid>
Run Code Online (Sandbox Code Playgroud)

这次SIGCONT是将进程带回运行/睡眠状态。