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

Ну, я нашел, что NetBeans имеет некоторые плагины для Scala. Это имеет плагины в наличии для многих других языков также. Возможно, можно дать ему попытку.

5
14.06.2012, 03:46
3 ответа

TL; DR

Это - лучшая практика для закрытия любых приложений, которые, возможно, не сохранили данные перед закрытием.

Более длительное объяснение

Это - обязанность отдельного приложения корректно обработать SIGTERM, но существуют, конечно, случаи, где это не будет достаточно. Два примера, которые могли вызвать потерю данных:

  1. Приложение правильно не обрабатывает (или даже игнорирует), SIGTERM.
  2. Приложение занимает больше времени для сохранения его данных, чем система позволяет прежде, чем отправить SIGKILL (например, приблизительно 5 секунд на Ubuntu по словам выскочки cookbok).

Несколько практических примеров

Я лично рекомендовал бы закрыть открытые документы в Вашем текстовом редакторе или текстовом процессоре, но я не буду волноваться о примечаниях Девчонки-сорванца или открывать вкладки Firefox. Необходимо, вероятно, заботиться с любыми объемными передачами файлов в Наутилусе, но я не волновался бы о resumable загрузке с wget или передачей.

Как все подобные Unix вещи, YMMV.

5
27.01.2020, 20:40
  • 1
    Спасибо, понятое. Но только с программами как Thunderbird, VIM и открытый Firefox/Chrome, я должен быть в порядке? –  Reinstate Monica 15.06.2012, 14:58

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

0
27.01.2020, 20:40

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

0
27.01.2020, 20:40
  • 1
    я сожалею, что придрался к мелочам, но что Вы имеете в виду с "аварийным прекращением работы завершение работы"? Насколько я знаю, что нет никакого пути, приложение может отменить завершение работы через стандартизированный интерфейс на Linux. Это зависит также от Ваших сценариев завершения работы, если все приложение получит также SIGTERM, SIGKILL, или оба. –  Ulrich Dangel 14.06.2012, 03:31
  • 2
    SIGKILL не может быть захвачен, в то время как SIGTERM может быть. Если приложение приняло решение обработать сигнал SIGTERM, что это практически останавливает процесс завершения работы. Например, vi может, принял решение остаться активным, чтобы сохранить любые несохраненные файлы и т.д. –  Ganesh Krishnan 14.06.2012, 03:38
  • 3
    Вы правы, но проблема - Вы, смешивают термин завершение работы. Если завершение работы в процессе, например, переключатель к init уровню 0 / shutdown -h now существует насколько я знаю теперь способ, которым приложение может отменить его. –  Ulrich Dangel 14.06.2012, 03:42
  • 4
    Вы правы, но проблема - Вы, смешивают термин завершение работы. Если завершение работы в процессе, например, переключатель к init уровню 0 / shutdown -h now существует насколько я знаю теперь способ, которым приложение может отменить его. –  Ulrich Dangel 14.06.2012, 03:42
  • 5
    Приложение не может "принять решение прервать завершение работы" - система спрашивает (SIGTERM), и затем вызывает (SIGKILL) все приложения для закрытия. У них есть право голоса в вопросе. –  Chris Down 14.06.2012, 04:31
  • 6
    Приложение не может "принять решение прервать завершение работы" - система спрашивает (SIGTERM), и затем вызывает (SIGKILL) все приложения для закрытия. У них есть право голоса в вопросе. –  Chris Down 14.06.2012, 04:31
  • 7
    Некоторые приложения GUI могут уведомить настольную среду, что они хотят прервать выход из системы. Это совсем не универсально, это требует сотрудничества между приложением и DE. И это не относится к завершению работы системы (хотя DE мог бы сначала выполнить подготовку к выходу из системы перед инициированием завершение работы, таким образом, с пользовательской точки зрения опыта это действительно относится к завершению работы, инициированному от DE). –  Gilles 'SO- stop being evil' 14.06.2012, 04:49

Теги

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