Как дождаться сигнала / попытки завершения программы и остановить его от завершения?

Я хочу написать скрипт на Bash, который будет "наблюдать" за каким-либо приложением. Как только будет предпринята попытка закрыть / закрыть это приложение, скрипт попытается остановить эту операцию завершения на несколько миллисекунд, выполнить некоторые действия и затем завершить работу приложения.

Я использую Okular, чтобы читать файлы PDF и комментировать их. Но аннотации сохраняются только в документах Окулара. Однако, если вы сохраните файл с помощью "Сохранить как", аннотации будут сохранены в самом файле PDF.

Я пытаюсь перехватить попытку пользователя закрыть Okular, нажав кнопку "x" в окне и "Сохранить как" файл okular, заменив исходный файл, а затем закройте приложение.

Предполагается, что это грязный хак для сохранения аннотаций в PDF-файле, поскольку эта функциональность не предоставляется в Linux ни одним хорошим PDF-читателем (пожалуйста, не называйте libreoffice или gimp, они не читатели).

1 ответ

Если приложение убито с -9Вы ничего не можете с этим поделать, ни внутри приложения, ни снаружи.

Лучшее, что вы могли бы сделать, - это написать скрипт, который пользователи будут вызывать для завершения работы приложения. Этот сценарий будет отвечать за оповещение приложения о том, что завершение было неизбежным (через некоторый механизм IPC), ожидает подтверждения о том, что все в порядке, а затем завершает работу приложения.

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