+1 doboss
alternatively you can take a look at data base tables (nodeinstanelog)
I think that the instance is created and since it has no wait state it finishes in the same thread it was started so console won't show it as active.
Just looked at the process again, I think what happens is that the process you insert is null. And this is bacause you set p (which is a process variable) in the script but that is only assigning the value but does not set it as process variable. if you replace the first script with following lines I think the rule will be fired:
p = new Person("john", 19);
kcontext.getProcessInstance().setVariable("p", p);
HTH