Use of PBS is not limited to batch jobs only. It also allows users to use the compute nodes interactively, when needed. For example, users can work with the developer environments provided by Matlab or R on compute nodes, and run their jobs (until the walltime expires). Instead of preparing a submission script, users pass the job requirements directly to the qsub command. For instance, the following PBS script:
#PBS -l nodes=7:ppn=4
#PBS -l mem=2gb
#PBS -l walltime=15:00:00
#PBS -q paceib
qsub -I -X -q paceib -l nodes=7:ppn=4,walltime=15:00:00,mem=2gb
Hence, the PBS scheduler will allocate 7*4=28 cores to the user as soon as nodes with given specifications become available, then automatically log the user into one of the compute nodes. From now on, the user can work interactively using these cores until the walltime expires. Note that there should be no space between the parameters being passed to -l (as in 'L'ima) flag, only commas!
Here, -I (as in 'I'ndia) stands for 'interactive' and -X allows for GUI applications.