По крайней мере, в Linux:
kill -- -1
Отправит сигнал SIGTERM каждому процессу, который может, кроме вызывающего (так что процесс, выполняющий этот kill
, которая может быть оболочкой, если kill
встроена в нее (обычно она есть в оболочках POSIX) или процесс, выполняющий отдельную команду kill
) и процесс pid 1.
Обратите внимание, что это делается как часть системного вызова kill ()
, поэтому он более надежен, чем использование таких команд, как pkill
или killall
(или традиционная команда killall
, которая иногда встречается как killall5
в Linux, традиционно используемая для этого), которая сначала перечисляет процессы, а затем убивает их, поскольку они пропустят процессы, которые были созданы в среднее время.
Это звучит именно так, как вы хотите.
trap '' TERM # ignore SIGTERM ourselves though it wouldn't be needed
# in most shells
kill -- -1
sleep 1 # leave processes some time to exit cleanly on SIGTERM
kill -s KILL -- -1 # removes the remaining processes or those
# that have started since without giving them
# a chance to clean-up.
exit
Должно уничтожить все, кроме процесса с идентификатором 1.
Вы можете поэкспериментировать с этим, запустив:
unshare --mount-proc -mpf
Это запускает оболочку в отдельном пространстве имен pid и mount (с новым / proc (как используется ps
/ pkill
/ killall
)), где у этой оболочки pid 1.
Вне Linux, kill - -1
должен работать на каждой системе при уничтожении большинства процессов, но список процессов, которые не подлежат уничтожению, может варьироваться от системы к системе.
Вам необходимо остановить автоматическое обновление следующим образом:
Выполните следующую команду
sudo dpkg-reconfigure -plow unattended-upgrades
Вы увидите запрос на настройку автоматических -обновлений:
Выберите Нет , чтобы отключить автоматическую загрузку и установку обновлений, и нажмите Enter.
Это обновляет файл конфигурации /etc/apt/apt.conf.d/20auto-upgrades
, устанавливая APT::Periodic::Unattended-Upgrade
на "0"
.
$ sudo dpkg-reconfigure -plow unattended-upgrades
Replacing config file /etc/apt/apt.conf.d/20auto-upgrades with new version
$ cat /etc/apt/apt.conf.d/20auto-upgrades
APT::Periodic::Update-Package-Lists "0";
APT::Periodic::Unattended-Upgrade "0";
Для получения дополнительной информации о настройке пакетов см. man dpkg -reconfigure
--configure package...|-a|--pending
Configure a package which has been unpacked but not yet config‐
ured. If -a or --pending is given instead of package, all
unpacked but unconfigured packages are configured.
Configuring consists of the following steps:
1. Unpack the conffiles, and at the same time back up the old
conffiles, so that they can be restored if something goes wrong.
2. Run postinst script, if provided by the package
dpkg-reconfigure - reconfigure an already installed package
-pvalue, --priority=value
Specify the minimum priority of question that will be displayed.
dpkg-reconfigure normally shows low priority questions no matter
what your default priority is. See debconf(7) for a list.
-a, --all
Reconfigure all installed packages that use debconf. Warning: this
may take a long time.
--no-reload
Prevent dpkg-reconfigure from reloading templates. Use with caution; this will prevent
dpkg-reconfigure from repairing broken templates databases. However, it may be useful
in constrained environments where rewriting the templates database is expensive.