Controlling Jobs on Tasker Host
From Tcl, you can control both the taskers and the jobs running on the remote taskers with the procedure vtk_job_control.
taskersId
can either be a legal VovId, "ALL", or the
number 0 which is equivalent to "ALL". The argument action can be one of STOP KILL
DEQUEUE SUSPEND RESUME SIGUSR1 SIGUSR2 SIGTSTP CHECK EXT MODIFY- If jobId is 0, then all jobs on the specified tasker are affected.
- If jobId is the string "TASKER", then the tasker is stopped gracefully.
- If jobId is the string "TASKER/FORCE", then the tasker is stopped with force. Taskers can only be stopped.
Option | Action EXT | Action MODIFY |
---|---|---|
opt1 | signalName | fieldName |
opt2 | procNameIncludeRx | newValue |
opt3 | procNameExcludeRx | unused |
- STOP and KILL are equivalent
- SUSPEND may use colon delimiters to specify which signals to use and
include/exclude lists, formatted as:
SUSPEND:[comma-delimited signal list]:[comma-delimited include list]:[comma-delimited exclude list] . See Examples.
- STOP may use colon delimiters to specify which signals to use,
include/exclude lists and delay in seconds between sending signals,
formatted as:
STOP:[comma-delimited signal list]:[comma-delimited include list]:[comma-delimited exclude list]:]delay between signals in seconds] . See Examples.
- The include and exclude lists used by STOP and SUSPEND are mutually exclusive; if both are specified the exclude list will apply.
- DEQUEUE does not reach the tasker and is processed by vovserver
- CHECK forces the taskers to scan the process table and gather information about the processes and send it to the vovserver
- EXT uses the script vovjobctrl to execute the job control. Check the documentation about vovjobctrl for more information about this type of job control.
Examples of vtk_job_control
# Stop all taskers
vtk_job_control ALL STOP TASKER
# Stop tasker 000123456 with force
vtk_job_control 000123456 STOP TASKER/FORCE
# Stop all jobs on tasker 000123456
vtk_job_control 000123456 STOP 0
# Stop job 223344 on tasker 000123456
vtk_job_control 000123456 STOP 223344
# Stop job 223344 running on any tasker
vtk_job_control ALL STOP 223344
Suspend all sleep jobs using SIGINT followed by SIGHUP on tasker 12345:
vtk_job_control 12345 SUSPEND:INT,HUP:sleep
Kill all jobs except sleep jobs using the default signal cascade with 2 seconds between signals on tasker 23456:
vtk_job_control 23456 STOP:::sleep:2