1

Как правильно отключить систему, когда apt-get все еще работает? apt-get жалуется на нечистое выключение, когда я просто выключаю компьютер.

2 ответа2

5

В качестве дополнения к совету Писквора («не») вы можете выполнить эту команду в командной строке:

sleep 10m ; shutdown -h now

Выше предполагается, что вы работаете как суперпользователь.

Идея состоит в том, чтобы позволить apt-get закончить перед тем, как завершить работу, без необходимости сидеть и ждать, пока это закончится. Вы могли бы написать более элегантный скрипт, который, например, использует ps и grep, чтобы определить, завершился ли apt-get, но у меня нет доступа к блоку Linux на работе, чтобы протестировать такой скрипт.

2

Закрыть apt-get first? Возможно, используя сигнал прерывания (^ 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 должен работать.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .