當 apt-get 仍在運行時關閉系統的正確方法是什麼

當 apt-get 仍在運行時關閉系統的正確方法是什麼

當 apt-get 仍在運行時關閉系統的正確方法是什麼?當我剛剛關閉電腦時,apt-get 抱怨關閉不乾淨。

答案1

作為 Piskvor 建議(「不要」)的詳細說明,您可以在 shell 提示字元下發出此命令:

sleep 10m ; shutdown -h now

上面假設您以超級用戶身份運行。

這個想法是讓 apt-get 在關閉之前完成,而不必坐在那裡等待它結束。您可以編寫一個更優雅的腳本,例如,使用 ps 和 grep 來檢測 apt-get 是否已完成,但我在工作中無法存取 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 應該可以工作。

相關內容