How can I check the PID of a X-server in another virtual terminal?

Posted on

Problem :

I am trying to open a program in a naked X-server on a different virtual terminal.
I am using ubuntu 9.10.

The command I’m using is this.

openvt -f -s -- `X :2 & '/path/to/program' -display :2`;

Now, when the program shuts down I want the X-server to be killed as well.

So my question is this: How can I save the PID of the new X-server (X :2) to then later kill it?

It is going to be used in a normal shell script.

Solution :

Instead of using openvt, you could use Xephyr to open a nested X sesssion. That would make it easier to manage it afterwards.

Use sudo apt-get install xserver-xephyr to install it.

Couple that with using $! to grab the process ID as James suggested.

In bash, $! is 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$

What I did was to store pgrep -f ‘X :2’ in a variable mypid.
Then I simply killed $mypid..

Leave a Reply

Your email address will not be published. Required fields are marked *