Временно препятствуйте тому, чтобы Linux закрылся

b = ListArray.new a.arr

Вы фактически передаете ссылку a.arr в b, а не в ее значение.

Вы можете сделать это следующим образом:

b = ListArray.new a.arr.dup

Отметить этот вопрос , который касается передачи аргумента ссылки или значения.

11
задан 30 November 2008 в 21:13
поделиться

4 ответа

Другое get-you-started решение: Во время завершения работы система запускает скрипты в/etc/init.d/(или действительно, сценарий в/etc/rc.*/, но Вы получаете идею.) Вы могли создать сценарий в том каталоге, который проверяет состояние Вашего резервного копирования, и задержки закрываются, пока резервное копирование не завершается. Или еще лучше, это корректно прерывает Ваше резервное копирование.

Суперпользователь мог обходное решение этот сценарий (с/sbin/halt, например), но Вы не можете предотвратить суперпользователя для того, чтобы сделать что-либо, если их ум действительно установлен в выполнение его.

8
ответ дан 3 December 2019 в 08:06
поделиться

Если пользователи собираются быть закрывающимися через GNOME/KDE, просто запрещают им выполнение так.

http://live.gnome.org/GnomePowerManager/FAQ#head-1cf52551bcec3107d7bae8c332fd292ec2261760

2
ответ дан 3 December 2019 в 08:06
поделиться

Больше get-you-started, чем полное решение, Вы могли исказить команду завершения работы далеко и затем использовать сценарий как

#!/bin/sh
ps -ef|grep backupprocess|grep -v grep > /dev/null
if [ "$?" -eq 0 ]; then
 echo Backup in progress: aborted shutdown
 exit 0
else
 echo Backup not in progress: shutting down
 shutdown-alias -h now
fi

сохраненный в пути пользователя как завершение работы. Я ожидаю, что был бы некоторый иждивенец изменения о том, как Ваши пользователи вызывают завершение работы (Значки/командная строка менеджера окон) и возможно для различных дистрибутивов также.

1
ответ дан 3 December 2019 в 08:06
поделиться

Я не могу не чувствовать, что Вы не понимание метафора Unix, и что Вы просите, клудж.

Если пользователь, работающий как корень, нет ничего, что корень может сделать, чтобы мешать корню закрыть систему! Можно сделать вещи оформления витрины как затемнение завершения работы UI, но это ничего действительно не выполняет.

Я не могу сказать, говорите ли Вы об этом в контексте многопользовательской машины или машины, используемой в качестве "настольного ПК" с отдельным пользователем, сидящим в консоли. Если это - первый, Ваши пользователи действительно не должны получать доступ к машине с учетными данными, которые могут завершить работу системы для ежедневных операций. Если бы это - последний, я рекомендовал бы обучить пользователей к любой (a) проверять, что сценарий работает, или (b) использованию конкретный сценарий завершения работы, который Вы определяете, который проверяет на процесс сценария и отказывается завершать работу, пока это не пошло.

0
ответ дан 3 December 2019 в 08:06
поделиться
Другие вопросы по тегам:

Похожие вопросы: