Bash 脚本打开 evince(pdf 阅读器)并关闭终端

Bash 脚本打开 evince(pdf 阅读器)并关闭终端

我想编写一个脚本,其中包括使用 evince 打开 PDF 文件,然后关闭终端。

到目前为止我已经得到:

evince &
sleep 2
kill -9 $PPID

但是当终端关闭时,evince 也会关闭。我尝试使用,disown -h -a但是没有用。

答案1

使用nohup您可以避免 evince 进程与其父进程一起终止:

nohup evince &
sleep 2
kill -9 $PPID

关于 nohup 的作用和来源的更多细节可以在 wikipedia 上找到:https://en.wikipedia.org/wiki/Nohup

nohup 是一个 POSIX 命令,用于忽略 HUP(挂断)信号。按照惯例,HUP 信号是终端警告相关进程注销的方式。

如果尚未重定向,则通常会转到终端的输出将转到名为 nohup.out 的文件。

答案2

在我的 Ubuntu 上

nohup evince &
exit

工作如预期。不睡觉,不杀戮。

kill -9在任何情况下都是过度的,kill -HUP完全可以杀死一个 shell,也可能是一个终端......我不想检查,因为使用 XFCE 似乎所有窗口只有一个终端进程,所以kill -9 $PPID会杀死全部我的终端窗口。

相关内容