More about that on this page
The best way to run background computing jobs on the unix systems is to submit them to the condor batch system. At the simplest level you can just use the “condor_run” command, eg:
Using the more advanced features of condor can be valuable for long-running jobs; for example your job can be checkpointed so that if a workstation is rebooted, the job can resume without starting from the beginning.
If you're not using condor, then any non-interactive compute jobs should be niced - this reduces their priority level relative to interactive use, so that workstation users still have a responsive system. In the absence of interactive load, the system is still dedicated to your jobs, so in most cases runtime will not be much affected.
If “yourprogram” is your executable, then you can run it nicely using the command:
# tcsh shell users: nice +n yourprogram
# bash shell users: nice -n yourprogram
where n is a number between 1 and 19 (the higher the number, the lower the job priority).
You should choose the priority in the most socially-responsible way you can manage, according to how long you expect the job to run - eg, jobs which may run for days should be run at a lower priority than those which might only take a few hours. We also consider a priority of 4 to be the minimum socially-acceptable nice level to use for background jobs - so, for example:
# tcsh shell users: nice +4 yourprogram
# bash shell users: nice -4 yourprogram
<note>Please make sure you don't send intensive writes to your home directory, as this causes slowdowns for all other users on our system. We may be forced to kill any processes which are causing such problems</note>
If your job requires manipulation of large files (especially writing to them), it will be faster to use local scratch storage on the local machine rather than your home directory over the network. Check our pages on file storage to see where you can store such files.