apt-get이 계속 실행되는 동안 시스템을 종료하는 올바른 방법은 무엇입니까

apt-get이 계속 실행되는 동안 시스템을 종료하는 올바른 방법은 무엇입니까

apt-get이 계속 실행되는 동안 시스템을 종료하는 올바른 방법은 무엇입니까? apt-get은 컴퓨터를 종료했을 때 비정상 종료에 대해 불평합니다.

답변1

Piskvor의 조언("하지 마세요")을 자세히 설명하면 쉘 프롬프트에서 다음 명령을 실행할 수 있습니다.

sleep 10m ; shutdown -h now

위의 내용은 슈퍼유저로 실행하고 있다고 가정합니다.

아이디어는 종료될 때까지 기다리지 않고 종료하기 전에 apt-get이 종료되도록 하는 것입니다. 예를 들어, apt-get이 완료되었는지 감지하기 위해 ps와 grep을 사용하는 보다 우아한 스크립트를 작성할 수 있지만, 저는 그러한 스크립트를 테스트하기 위해 직장에서 Linux 상자에 액세스할 수 없습니다.

답변2

apt-get을 먼저 닫으시겠습니까? 아마도 인터럽트 신호를 사용하고 있을 것입니다(포그라운드에 있는 경우 ^C, 그렇지 않은 경우 kill).

업데이트:

다음을 사용하여 신호 목록을 얻을 수 있습니다.kill -l

$ 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     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      32) SIGRTMIN    33) SIGRTMIN+1
34) SIGRTMIN+2  35) SIGRTMIN+3  36) SIGRTMIN+4  37) SIGRTMIN+5
38) SIGRTMIN+6  39) SIGRTMIN+7  40) SIGRTMIN+8  41) SIGRTMIN+9
42) SIGRTMIN+10 43) SIGRTMIN+11 44) SIGRTMIN+12 45) SIGRTMIN+13
46) SIGRTMIN+14 47) SIGRTMIN+15 48) SIGRTMAX-15 49) SIGRTMAX-14
50) SIGRTMAX-13 51) SIGRTMAX-12 52) SIGRTMAX-11 53) SIGRTMAX-10
54) SIGRTMAX-9  55) SIGRTMAX-8  56) SIGRTMAX-7  57) SIGRTMAX-6
58) SIGRTMAX-5  59) SIGRTMAX-4  60) SIGRTMAX-3  61) SIGRTMAX-2
62) SIGRTMAX-1  63) SIGRTMAX

핵 옵션인 9(SIGKILL)를 시도하기 전에 HUP, INT, QUIT 또는 USR1, USR2 또는 ABRT와 같은 보다 부드러운 신호를 시도할 수 있습니다. 실제로 apt-get에 대한 프로그램 문서는 이러한 신호를 다르게 처리하는지 여부를 말해야 합니다. 그렇지 않기 때문에 나는 큰 희망을 품지 않습니다. 일부 버그 보고서에서는 INT가 작동해야 한다고 언급했습니다.

관련 정보