Как правильно завершить работу системы, пока apt-get все еще работает?

Как правильно завершить работу системы, пока apt-get все еще работает?

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

решение1

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

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 должен работать.

Связанный контент