在研究这个答案时,我发现ps
命令的输出在 15.04 中发生了很大变化。
几个例子
在 14.04 中,输出ps -e
显示在gnome-terminal
:
$ ps -e
19006 ? 00:00:00 gnome-terminal
在 15.04 中:
$ ps -e
24959 ? 00:00:00 gnome-terminal-
(注意15个字符)
对长版感到好奇,我跑了ps -e ww
:
在 14.04 中:
$ ps -e ww
19006 ? Sl 0:01 gnome-terminal
而在 15.04
$ ps -e ww
24959 ? Rl 0:01 /usr/lib/gnome-terminal/gnome-terminal-server --app-id com.canonical.Terminal.qVQkBaeWjRVoRiJKYQVkNNyrboXUfVrj
寻找应用,对应pid:
在 14.04 中:
$ ps -p 19006 -o comm=
gnome-terminal
在 15.04 中:
$ ps -p 24959 -o comm=
又是 15 个字符(如预期的那样):
gnome-terminal-
在链接的问题中,我通过从 派生应用程序名称来解决它WM_CLASS
,如命令输出中所述xprop
。但是,我更愿意使用ps -p 19006 -o comm=
效率更高的“老式”。
这些差异对脚本的使用有相当大的影响。我的问题是:有没有人知道这背后的原因是什么或是由什么引起的?
它似乎与对 gnome-terminal 所做的更改有关。然而,扫描更新日志和新闻我找不到任何具体的东西。
正如您在 14.04 gnome-terminal 软件包的文件列表中所见,/usr/lib/ 目录甚至不存在。
在 15.04中,包含了 /usr/lib 目录。
gnome-terminal
现在是一个 python 脚本;这些更改是在 3.7 版中进行的,因此可能与此有关。我还没有看到共享此类更改的其他应用程序。