use the 'pppd' to accomplish it:
sudo pppd nodetach defaultroute replacedefaultroute persist password
mypassword file myvpn
replace "mypassword" with your pptp account's password.
the "myvpn" is a config file, format as:
linkname myvpn
ipparam myvpn
pty "pptp server_address --nolaunchpppd "
name myaccount
usepeerdns
require-mppe
refuse-eap noauth
# adopt defaults from the pptp-linux package
file /etc/ppp/options.pptp
this config file format is mentioned in here:https://help.ubuntu.com/community/VPNClient
And, "nodetach", or "defaultroute" are options for pppd, been described here:http://manpages.ubuntu.com/manpages/hardy/man8/pppd.8.html
I have use this method in java to setup a pptp client vpn connection, yes, it works.
The pid file, is in /var/run/ppp-xxx.pid, the "xxx" is your linkname that in your config file. You can read the pid of pppd from this pid file send a signal to the pppd, e.g "sudo kill -s SIGTERM pid_of_pppd", to shutdown the pppd.