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

0

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.

user19489

Posted 2009-11-26T19:14:46.093

Reputation: 1

Answers

1

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$

James Polley

Posted 2009-11-26T19:14:46.093

Reputation: 5 892

1

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.

ā„¯aphink

Posted 2009-11-26T19:14:46.093

Reputation: 3 531

0

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

user19489

Posted 2009-11-26T19:14:46.093

Reputation: 1