Как безопасно вызвать завершение работы Mac

Динамические языки являются фантастическими для разработки прототипа идей. Часто по причинам производительности они не будут работать на постоянные решения или продукты. , Но , с языками как Python, которые позволяют Вам встраивать стандартный C/C ++/Java в них или стихе визы, можно ускорить действительно критические биты, но оставить склеенным вместе с гибкостью динамического языка.

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

6
задан Mike Atlas 15 November 2009 в 16:53
поделиться

6 ответов

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

IIRC в Snow Leopard (10.6) Apple добавила что-то, называемое fast-shutdown (или подобное), которое будет отправлять процессы которые были помечены как нормально работающие с этим сигналом SIGKILL , закрывающим их без возможности для очистки. Это должно ускорить завершение работы. По умолчанию приложения по-прежнему получают SIGTERM и должны соглашаться на SIGKILL ; и они могут пометить себя как «грязные», то есть имеющие несохраненную работу, и не хотят, чтобы их убивали насильственно.

Таким образом, при выключении в середине работы дисковой утилиты будет прервана работа дисковой утилиты, ИМХО, это не так. вызвать повреждение данных в целом. Однако, в зависимости от выполняемой вами операции, вы можете получить неполный образ диска или наполовину отформатированный раздел. Возможно, вы захотите воздержаться от его использования, когда знаете, что приближается конец настроенного вами рабочего времени.

Использование cron для планирования завершения работы является жизнеспособным вариантом, если вы хотите, чтобы это произошло в указанное время. время. Если вы хотите, чтобы это произошло через определенное время после входа в систему, вы можете использовать параметр number для выключения, чтобы указать, например, через 8 часов.

2
ответ дан 17 December 2019 в 02:30
поделиться

Используйте AppleScript, чтобы сообщить приложению «Системные события» о завершении работы .

3
ответ дан 17 December 2019 в 02:30
поделиться

Статическая переменная или метод используется всеми экземплярами класса. Это довольно приличное определение, но на самом деле оно может быть не таким ясным, как пример ...

Итак, в классе Foo , возможно, вы захотите иметь статическую переменную fooCounter , чтобы отслеживать, сколько экземпляров Foo было создано. (Сейчас мы просто проигнорируем безопасность потоков.)

public class Foo {
    private static var fooCounter:int = 0;

    public function Foo() {
        super();
        fooCounter++;
    }

    public static function howManyFoos():int {
        return fooCounter;
    }
}

Итак, каждый раз, когда вы создаете new Foo () в приведенном выше примере, счетчик увеличивается. Поэтому в любое время, если мы хотим узнать, сколько существует Foo , мы не запрашиваем у экземпляра значение счетчика, мы запрашиваем класс Foo , поскольку это информация является «статической» и применяется ко всему классу Foo .

1
ответ дан 17 December 2019 в 02:30
поделиться

Принудительное выключение компьютера (и удаление всех несохраненных работ) мне не кажется хорошей идеей. Разве не было бы проще и безопаснее просто установить будильник, чтобы напоминать себе, когда вам следует прекратить работу, и уходить от компьютера, когда он звонит? (Это то, что я делаю.)

Редактировать: Это могло показаться немного грубым, что вовсе не входило в мои намерения. (У меня не было намерения высмеивать ваш вопрос или что-то в этом роде.) Я просто думаю, что это было бы лучшим решением этой проблемы :)

0
ответ дан 17 December 2019 в 02:30
поделиться

Рекомендуемый способ запланировать выключение компьютера на регулярной основе находится в системных настройках -> Панель энергосбережения. Нажмите кнопку «расписание» в правом нижнем углу. остальное говорит само за себя ...

1
ответ дан 17 December 2019 в 02:30
поделиться

Может быть, на вашем компьютере установлена ​​cron? Замечательно =)

-1
ответ дан 17 December 2019 в 02:30
поделиться