Запустить скрипт с взаимодействием с пользователем при выходе / выключении?

Вы можете получить 64-битную версию на http://releases.ubuntu.com/16.04.1/

4
задан 11 July 2012 в 22:50

8 ответов

Я полагаю, что на ваш вопрос о выключении / отключении питания (более или менее) ответили здесь:

Глядя на предоставленные там ответы, я хотел бы подправить / уточнить / обобщить, что вам, вероятно, нужны оба, чтобы использовать сценарий очистки сессии, так что X не умрет раньше, чем вы сможете откликнитесь и запустите задание, а новый небольшой скрипт /etc/init.d/ на достаточно высоком уровне выполнения, чтобы «блокировать» его отключение до тех пор, пока сценарий автоматической очистки сессии не вызовет сценарий AutoFsck, завершится.

Таким образом:

  1. Добавить в скрипт сеанса очистки, устанавливая флаг через 'touch /etc/noreboot' (или аналогичный), который очищается вашим скриптом вызова AutoFsck (т.е. удаляет файл / etc / noreboot, когда на него ответили no или, если да, удаляется только после завершения AutoFsck) .
  2. Ваш новый скрипт /etc/init.d должен проверять наличие / etc / noreboot и, если он существует, проверять каждую секунду или два в цикле, пока файл не будет удален. Если /etc/noreboot не существует, сценарий может завершиться и позволить продолжить процесс завершения работы. Опять же, ключ здесь заключается в том, чтобы убедиться, что скрипт init.d запускается до завершения работы lightdm или любого другого выключения X.

Поскольку X все еще должен работать, пока проверочный скрипт /etc/noreboot в init.d вы также можете отправить на экран сообщение X о том, что завершение работы заблокировано в ожидании удаления файла. Это маленькое неприятное сообщение может пригодиться, если файл /etc/noreboot по какой-то причине не очищен, что не позволяет вашей системе корректно завершить работу.

1
ответ дан 25 July 2018 в 18:27

Я полагаю, что на ваш вопрос о выключении / отключении питания (более или менее) ответили здесь:

Глядя на предоставленные там ответы, я хотел бы подправить / уточнить / обобщить, что вам, вероятно, нужны оба, чтобы использовать сценарий очистки сессии, так что X не умрет раньше, чем вы сможете откликнитесь и запустите задание, а новый небольшой скрипт /etc/init.d/ на достаточно высоком уровне выполнения, чтобы «блокировать» его отключение до тех пор, пока сценарий автоматической очистки сессии не вызовет сценарий AutoFsck, завершится.

Таким образом:

  1. Добавить в скрипт сеанса очистки, устанавливая флаг через 'touch /etc/noreboot' (или аналогичный), который очищается вашим скриптом вызова AutoFsck (т.е. удаляет файл / etc / noreboot, когда на него ответили no или, если да, удаляется только после завершения AutoFsck) .
  2. Ваш новый скрипт /etc/init.d должен проверять наличие / etc / noreboot и, если он существует, проверять каждую секунду или два в цикле, пока файл не будет удален. Если /etc/noreboot не существует, сценарий может завершиться и позволить продолжить процесс завершения работы. Опять же, ключ здесь заключается в том, чтобы убедиться, что скрипт init.d запускается до завершения работы lightdm или любого другого выключения X.

Поскольку X все еще должен работать, пока проверочный скрипт /etc/noreboot в init.d вы также можете отправить на экран сообщение X о том, что завершение работы заблокировано в ожидании удаления файла. Это маленькое неприятное сообщение может пригодиться, если файл /etc/noreboot по какой-то причине не очищен, что не позволяет вашей системе корректно завершить работу.

1
ответ дан 31 July 2018 в 13:06

Я полагаю, что на ваш вопрос о выключении / отключении питания (более или менее) ответили здесь:

Глядя на предоставленные там ответы, я хотел бы подправить / уточнить / обобщить, что вам, вероятно, нужны оба, чтобы использовать сценарий очистки сессии, так что X не умрет раньше, чем вы сможете откликнитесь и запустите задание, а новый небольшой скрипт /etc/init.d/ на достаточно высоком уровне выполнения, чтобы «блокировать» его отключение до тех пор, пока сценарий автоматической очистки сессии не вызовет сценарий AutoFsck, завершится.

Таким образом:

  1. Добавить в скрипт сеанса очистки, устанавливая флаг через 'touch /etc/noreboot' (или аналогичный), который очищается вашим скриптом вызова AutoFsck (т.е. удаляет файл / etc / noreboot, когда на него ответили no или, если да, удаляется только после завершения AutoFsck) .
  2. Ваш новый скрипт /etc/init.d должен проверять наличие / etc / noreboot и, если он существует, проверять каждую секунду или два в цикле, пока файл не будет удален. Если /etc/noreboot не существует, сценарий может завершиться и позволить продолжить процесс завершения работы. Опять же, ключ здесь заключается в том, чтобы убедиться, что скрипт init.d запускается до завершения работы lightdm или любого другого выключения X.

Поскольку X все еще должен работать, пока проверочный скрипт /etc/noreboot в init.d вы также можете отправить на экран сообщение X о том, что завершение работы заблокировано в ожидании удаления файла. Это маленькое неприятное сообщение может пригодиться, если файл /etc/noreboot по какой-то причине не очищен, что не позволяет вашей системе корректно завершить работу.

1
ответ дан 2 August 2018 в 00:38

Я полагаю, что на ваш вопрос о выключении / отключении питания (более или менее) ответили здесь:

Глядя на предоставленные там ответы, я хотел бы подправить / уточнить / обобщить, что вам, вероятно, нужны оба, чтобы использовать сценарий очистки сессии, так что X не умрет раньше, чем вы сможете откликнитесь и запустите задание, а новый небольшой скрипт /etc/init.d/ на достаточно высоком уровне выполнения, чтобы «блокировать» его отключение до тех пор, пока сценарий автоматической очистки сессии не вызовет сценарий AutoFsck, завершится.

Таким образом:

  1. Добавить в скрипт сеанса очистки, устанавливая флаг через 'touch /etc/noreboot' (или аналогичный), который очищается вашим скриптом вызова AutoFsck (т.е. удаляет файл / etc / noreboot, когда на него ответили no или, если да, удаляется только после завершения AutoFsck) .
  2. Ваш новый скрипт /etc/init.d должен проверять наличие / etc / noreboot и, если он существует, проверять каждую секунду или два в цикле, пока файл не будет удален. Если /etc/noreboot не существует, сценарий может завершиться и позволить продолжить процесс завершения работы. Опять же, ключ здесь заключается в том, чтобы убедиться, что скрипт init.d запускается до завершения работы lightdm или любого другого выключения X.

Поскольку X все еще должен работать, пока проверочный скрипт /etc/noreboot в init.d вы также можете отправить на экран сообщение X о том, что завершение работы заблокировано в ожидании удаления файла. Это маленькое неприятное сообщение может пригодиться, если файл /etc/noreboot по какой-то причине не очищен, что не позволяет вашей системе корректно завершить работу.

1
ответ дан 4 August 2018 в 16:09

Я полагаю, что на ваш вопрос о выключении / отключении питания (более или менее) ответили здесь:

Глядя на предоставленные там ответы, я хотел бы подправить / уточнить / обобщить, что вам, вероятно, нужны оба, чтобы использовать сценарий очистки сессии, так что X не умрет раньше, чем вы сможете откликнитесь и запустите задание, а новый небольшой скрипт /etc/init.d/ на достаточно высоком уровне выполнения, чтобы «блокировать» его отключение до тех пор, пока сценарий автоматической очистки сессии не вызовет сценарий AutoFsck, завершится.

Таким образом:

  1. Добавить в скрипт сеанса очистки, устанавливая флаг через 'touch /etc/noreboot' (или аналогичный), который очищается вашим скриптом вызова AutoFsck (т.е. удаляет файл / etc / noreboot, когда на него ответили no или, если да, удаляется только после завершения AutoFsck) .
  2. Ваш новый скрипт /etc/init.d должен проверять наличие / etc / noreboot и, если он существует, проверять каждую секунду или два в цикле, пока файл не будет удален. Если /etc/noreboot не существует, сценарий может завершиться и позволить продолжить процесс завершения работы. Опять же, ключ здесь заключается в том, чтобы убедиться, что скрипт init.d запускается до завершения работы lightdm или любого другого выключения X.

Поскольку X все еще должен работать, пока проверочный скрипт /etc/noreboot в init.d вы также можете отправить на экран сообщение X о том, что завершение работы заблокировано в ожидании удаления файла. Это маленькое неприятное сообщение может пригодиться, если файл /etc/noreboot по какой-то причине не очищен, что не позволяет вашей системе корректно завершить работу.

1
ответ дан 6 August 2018 в 00:47

Я полагаю, что на ваш вопрос о выключении / отключении питания (более или менее) ответили здесь:

Глядя на предоставленные там ответы, я хотел бы подправить / уточнить / обобщить, что вам, вероятно, нужны оба, чтобы использовать сценарий очистки сессии, так что X не умрет раньше, чем вы сможете откликнитесь и запустите задание, а новый небольшой скрипт /etc/init.d/ на достаточно высоком уровне выполнения, чтобы «блокировать» его отключение до тех пор, пока сценарий автоматической очистки сессии не вызовет сценарий AutoFsck, завершится.

Таким образом:

  1. Добавить в скрипт сеанса очистки, устанавливая флаг через 'touch /etc/noreboot' (или аналогичный), который очищается вашим скриптом вызова AutoFsck (т.е. удаляет файл / etc / noreboot, когда на него ответили no или, если да, удаляется только после завершения AutoFsck) .
  2. Ваш новый скрипт /etc/init.d должен проверять наличие / etc / noreboot и, если он существует, проверять каждую секунду или два в цикле, пока файл не будет удален. Если /etc/noreboot не существует, сценарий может завершиться и позволить продолжить процесс завершения работы. Опять же, ключ здесь заключается в том, чтобы убедиться, что скрипт init.d запускается до завершения работы lightdm или любого другого выключения X.

Поскольку X все еще должен работать, пока проверочный скрипт /etc/noreboot в init.d вы также можете отправить на экран сообщение X о том, что завершение работы заблокировано в ожидании удаления файла. Это маленькое неприятное сообщение может пригодиться, если файл /etc/noreboot по какой-то причине не очищен, что не позволяет вашей системе корректно завершить работу.

1
ответ дан 7 August 2018 в 18:12

Я полагаю, что на ваш вопрос о выключении / отключении питания (более или менее) ответили здесь:

Глядя на предоставленные там ответы, я хотел бы подправить / уточнить / обобщить, что вам, вероятно, нужны оба, чтобы использовать сценарий очистки сессии, так что X не умрет раньше, чем вы сможете откликнитесь и запустите задание, а новый небольшой скрипт /etc/init.d/ на достаточно высоком уровне выполнения, чтобы «блокировать» его отключение до тех пор, пока сценарий автоматической очистки сессии не вызовет сценарий AutoFsck, завершится.

Таким образом:

  1. Добавить в скрипт сеанса очистки, устанавливая флаг через 'touch /etc/noreboot' (или аналогичный), который очищается вашим скриптом вызова AutoFsck (т.е. удаляет файл / etc / noreboot, когда на него ответили no или, если да, удаляется только после завершения AutoFsck) .
  2. Ваш новый скрипт /etc/init.d должен проверять наличие / etc / noreboot и, если он существует, проверять каждую секунду или два в цикле, пока файл не будет удален. Если /etc/noreboot не существует, сценарий может завершиться и позволить продолжить процесс завершения работы. Опять же, ключ здесь заключается в том, чтобы убедиться, что скрипт init.d запускается до завершения работы lightdm или любого другого выключения X.

Поскольку X все еще должен работать, пока проверочный скрипт /etc/noreboot в init.d вы также можете отправить на экран сообщение X о том, что завершение работы заблокировано в ожидании удаления файла. Это маленькое неприятное сообщение может пригодиться, если файл /etc/noreboot по какой-то причине не очищен, что не позволяет вашей системе корректно завершить работу.

1
ответ дан 10 August 2018 в 06:57

Я полагаю, что на ваш вопрос о выключении / отключении питания (более или менее) ответили здесь:

Глядя на предоставленные там ответы, я хотел бы подправить / уточнить / обобщить, что вам, вероятно, нужны оба, чтобы использовать сценарий очистки сессии, так что X не умрет раньше, чем вы сможете откликнитесь и запустите задание, а новый небольшой скрипт /etc/init.d/ на достаточно высоком уровне выполнения, чтобы «блокировать» его отключение до тех пор, пока сценарий автоматической очистки сессии не вызовет сценарий AutoFsck, завершится.

Таким образом:

  1. Добавить в скрипт сеанса очистки, устанавливая флаг через 'touch /etc/noreboot' (или аналогичный), который очищается вашим скриптом вызова AutoFsck (т.е. удаляет файл / etc / noreboot, когда на него ответили no или, если да, удаляется только после завершения AutoFsck) .
  2. Ваш новый скрипт /etc/init.d должен проверять наличие / etc / noreboot и, если он существует, проверять каждую секунду или два в цикле, пока файл не будет удален. Если /etc/noreboot не существует, сценарий может завершиться и позволить продолжить процесс завершения работы. Опять же, ключ здесь заключается в том, чтобы убедиться, что скрипт init.d запускается до завершения работы lightdm или любого другого выключения X.

Поскольку X все еще должен работать, пока проверочный скрипт /etc/noreboot в init.d вы также можете отправить на экран сообщение X о том, что завершение работы заблокировано в ожидании удаления файла. Это маленькое неприятное сообщение может пригодиться, если файл /etc/noreboot по какой-то причине не очищен, что не позволяет вашей системе корректно завершить работу.

1
ответ дан 15 August 2018 в 18:55

Другие вопросы по тегам:

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