Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 如何等待程序终止信号/尝试,并阻止其终止?_Linux_Bash_Okular - Fatal编程技术网

Linux 如何等待程序终止信号/尝试,并阻止其终止?

Linux 如何等待程序终止信号/尝试,并阻止其终止?,linux,bash,okular,Linux,Bash,Okular,我想写一个Bash脚本,它将观看一些应用程序。一旦尝试关闭/终止此应用程序,脚本将尝试停止该终止操作几毫秒,执行一些操作,然后终止应用程序 我正在使用Okula读取PDF文件并对其进行注释。但是注释只保存在Okula的docdata中。但是,如果使用“另存为”保存文件,则注释将保存在PDF文件本身中 我试图做的是通过单击窗口上的x按钮拦截用户关闭Okular的尝试,并保存为Okular文件,替换原始文件,然后关闭应用程序 这意味着在PDF文件中保存注释是一个肮脏的黑客行为,因为Linux中没有任

我想写一个Bash脚本,它将观看一些应用程序。一旦尝试关闭/终止此应用程序,脚本将尝试停止该终止操作几毫秒,执行一些操作,然后终止应用程序

我正在使用Okula读取PDF文件并对其进行注释。但是注释只保存在Okula的docdata中。但是,如果使用“另存为”保存文件,则注释将保存在PDF文件本身中

我试图做的是通过单击窗口上的x按钮拦截用户关闭Okular的尝试,并保存为Okular文件,替换原始文件,然后关闭应用程序


这意味着在PDF文件中保存注释是一个肮脏的黑客行为,因为Linux中没有任何好的PDF阅读器提供此功能。请不要命名为libreoffice或gimp,它们不是阅读器

如果应用程序被-9终止,那么无论是在应用程序内部还是从外部,您都无法对其进行任何处理


您最好编写一个脚本,用户可以调用该脚本来终止应用程序。该脚本将负责通过某些IPC机制向应用程序发出终止即将到来的信号,等待确认可以继续,然后终止应用程序。

如果您终止-终止被监视的应用程序,则该脚本将不起作用。。。。这是一件不好的事情,kill-TERM是首选的。从主应用程序进程内部,使用。如果您准备使用调试器API编写大量糟糕的低级C,那么您也可以通过外部看门狗程序来完成。来自外部bash脚本?!忘了它吧。对你想做的事情要更具体一些。如果可以的话,请包括所讨论的实际程序,并举例说明您试图拦截的关闭/终止尝试的类型。我认为这个问题已经去掉了所有有用的背景信息。你真的应该解释什么是目标应用程序,以及你为什么要这样做;。听起来,一个均匀的ptrace不会让你阻止进程在收到SIGKILL后立即被终止,这是操作系统最基本的保护形式之一,它用于防止你的程序表现非常糟糕,试图避免整个系统崩溃,NB-9是SIGKILL请看。。。我在评论中提到了kill-kill