프로세스를 종료하지 않고 bash 스크립트 프로세스를 일시 중지/중지할 수 있습니까? (kill 명령을 통해) 또는 기타 명령
예를 들어 이 스크립트 - install_linux_pkgs.bash는 Linux pkgs를 단계별로 설치합니다.
./install_linux_pkgs.bash
내가 원하는 것은 외부 스크립트 진행을 중지(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
답변1
ctrl-를 사용하여 프로세스를 중지할 수 있습니다 z. 그런 다음 터미널에서 원하는 작업을 수행하십시오. 프로세스를 계속하려면 를 사용하십시오 fg
.
또는 다른 터미널에서 다음을 사용하세요.
kill -19 <pid>
SIGSTOP
프로세스에 (신호 번호 19)를 보냅니다 . 이 과정을 캡쳐하는 것은 불가능합니다. 프로세스를 계속하려면 다음을 사용하십시오.
kill -18 <pid>
이번에는 SIGCONT
프로세스를 다시 실행 중/휴면 상태로 전환합니다.
답변2
나는 당신이 타격을 가할 수 있어야 한다고 생각하며 Ctrl+Z
, 그러면 프로세스가 일시 중지될 것입니다. 돌아갈 준비가 되면 fg
명령을 사용하기만 하면 프로세스가 포그라운드에서 다시 활성화됩니다. 또는 bg
명령을 실행하면 백그라운드에서 프로그램이 부활합니다( 와 동일 /some/program &
).