Lori Brown puts a halt to things:
I have always done this by having a monitoring job that executes on a schedule that runs at a time when you need other jobs to stop. Of course, you need to be aware that stopping jobs can come with unwanted side effects of some data change that may be unfinished (there may be a rollback) and the stopped job will have to gracefully be re-run at another time. You will also see the stopped job as cancelled in the job activity monitor. And, hopefully you are aware that you can tell a job to stop but if it is doing work using a linked server, it may not stop as expected or it can take a while if it is rolling back a transaction.
Read on for an example of how to do this.