我正在尝试在另一个虚拟终端上的裸 X 服务器中打开一个程序。我使用的是 ubuntu 9.10。
我正在使用的命令是这个。
openvt -f -s -- `X :2 & '/path/to/program' -display :2`;
现在,当程序关闭时,我希望 X 服务器也被关闭。
所以我的问题是:我怎样才能保存新的 X 服务器 (X:2) 的 PID,然后稍后将其杀死?
它将会在普通的 shell 脚本中使用。
答案1
除了使用 openvt,您还可以使用西风打开嵌套的 X 会话。这样以后管理起来会更方便。
使用sudo apt-get install xserver-xephyr
来安装它。
按照 James 的建议,将其与用来$!
获取进程 ID 相结合。
答案2
在 bash 中,$!
是the process ID of the most recently executed back-ground (asynchronous) command
。
Sombrero:Documents polleyj$ xterm &
[1] 41316
Sombrero:Documents polleyj$ KILLPID=$!
Sombrero:Documents polleyj$ echo $KILLPID
41316
Sombrero:Documents polleyj$ kill $KILLPID
Sombrero:Documents polleyj$
[1]+ Killed xterm
Sombrero:Documents polleyj$
答案3
我所做的是将 pgrep -f 'X :2' 存储在变量 mypid 中。然后我直接杀死了 $mypid。