本文主要是介绍Linux - gnome-terminal启动的第n次(n>=2)的进程不见了,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
gnome-terminal启动的第n次(n>=2)的进程不见了
问题描述
在集群,
- 使用
bsub -m HOST01 gnome-terminal
启动来自于HOST01的gnome-terminal窗口,使用bjobs也可以查看到该job; - 再次执行
bsub -m HOST01 gnome-terminal
也启动来自于HOST01的gnome-terminal窗口,但bjobs看第二个job已经显示Done了。
问题来了,第二次提交的gnome-terminal窗口明明在的,为何其job却显示已完成
呢?
问题分析
- 使用Linux - 如何确定X窗口来自于哪台服务器?文中的方法,可以查看两个
gnome-terminal
窗口在执行机
的PID
都是29002
,是/usr/libexec/gnome-terminal-server
的进程; - 在两个
gnome-terminal
中执行echo $$
的结果分别为29080
与37873
,都是csh进程
。
使用bjobs -l <JOB ID>
查看进程情况,可以看到29080
与37873
都在,如下所示:
... snippet ommited...
PGID: 28986; PIDs: 28997
PGID: 28998; PIDs: 28998 29002 29007 29021 29023 29044 29065 29079
PGID: 29080; PIDs: 29080
PGID: 37873; PIDs: 37873
... snippet ommited...
进程详细信息:
$ ps -g 28986 #无输出
$ ps -g 28998 -f
UID PID TTY TIME CMD
thesre 28998 /usr/bin/dbus-daemon --fork --print-pid 5 --print-address 7 --session
thesre 29002 /usr/libexec/gnome-terminal-server
thesre 29007 /usr/libexec/gvfsd
thesre 29021 /usr/libexec/gconfd-2
thesre 29023 /usr/libexec/dconf-service
thesre 29044 /usr/libexec/xdg-desktop-portal
thesre 29065 /usr/libexec/xdg-permission-store
thesre 29079 gnome-pty-helper
$ ps -g 29080 -f
UID PID TTY TIME CMD
thesre 29080 csh
$ ps -g 37873 -f
UID PID TTY TIME CMD
thesre 37873 csh
问题解决
原理:同一用户
在同一机器
启动多于一次
的gnome-terminal
,在其factory模式
下,会共享一个gnome-terminal-server
。
因此就出现了在执行机上只有一个进程
在运行,但在X server
上却有多个窗口存在
。给用户或管理员带来困惑。
这篇关于Linux - gnome-terminal启动的第n次(n>=2)的进程不见了的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!