Table of Contents
1 ts Task Spooler ts-1.0
1.1 Set the number of max simultanious jobs of the server
ts -S 1000
1.2 Wait for a job
ts -w [id]
1.3 The job will be run only if the job of given id ends well.
ts -D <id>
tsp -L label csh -c 'command1; date; pwd; true' tsp -D <above_tsp_id> -L label2 csh -c 'command2; date; pwd;true'
Youe need "; true" if you want command2 run after command1 since commmand1 might fail.
pwd would let you know where it runs the command when it is finished
Otherwise, you can use "pwdx <PID>
1.4 Keep stderr aprat.
ts -E
1.5 Help
ts -h
-r remove a job -C clear the list of finished jobs -t [id] tail the output of the job -c [id] like -t, but show all the lines. -p [id] shows the pid of the job. -k [id] send SIGTERM to the job process group.
1.6 installation
make make install PREFIX=~/local
Source https://vicerveza.homeunix.net/~viric/soft/ts/
Download the latest version (GPLv2+ licensed): ts-1.0.tar.gz - v1.0 (2016-10-19) - Changelog
2 TMP, TMPDIR, issue: The server didn't come up.
ts -S The server didn't come up.
strace tsp --- SIGCHLD (Child exited) @ 0 (0) --- close(4) = 0 connect(3, {sa_family=AF_FILE, path="/tmp/1236522324.1.q/socket-ts.41058"}, 110) = -1 ENOENT (No such file or directory) write(2, "The server didn't come up.\n", 27The server didn't come up. ) = 27 exit_group(-1) = ?
env|grep TMP TMP=/tmp/1236522324.1.q TMPDIR=/tmp/1236522324.1.q
Solution
unset TMP; unset TMPDIR; ts -S
2.1 [TMP, TMPDIR] Cscope, gtags, p4 diff, exa, vim (coc gtags), valgrind
env|grep TMP TMP=/tmp/1236522324.1.q TMPDIR=/tmp/1236522324.1.q exa -al thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: Os { code: 2, kind: NotFound, message: "No such file or directory" }', src/libcore/result.rs:999:5 note: Run with `RUST_BACKTRACE=1` environment variable to display a backtrace. zsh: abort exa -al p4 diff ... open for write: /tmp/1236522324.1.q/tmp.20046.68: No such file or directory in vim client coc abnormal exit with: 1 E609: Cscope error: cscope: Temporary directory /tmp/1236522324.1.q does not exist or cannot be accessedcscope: Please create the directory or set the environment variablecscope: TMPDIR to a valid directory gtags-cscope -d cscope: Temporary directory /tmp/1236522324.1.q does not exist or cannot be accessed cscope: Please create the directory or set the environment variable cscope: TMPDIR to a valid directory cscope -d cscope: Temporary directory /tmp/1236522324.1.q does not exist or cannot be accessed cscope: Please create the directory or set the environment variable cscope: TMPDIR to a valid directory
env|grep TMP TMP=/tmp/1431450178.1.q TMPDIR=/tmp/1431450178.1.q /path/to/Valgrind/valgrind-3.17/bin/callgrind_control --stat No active callgrind runs detected.
/path/to/Valgrind/valgrind-3.17/bin/callgrind_control -i on PID 6559: ../simv -ucli sending command instrumentation on to pid 6559 OK. /path/to/Valgrind/valgrind-3.17/bin/callgrind_control -k PID 6559: ../simv -ucli sending command v.kill to pid 6559 readchar: Got EOF error reading packet OK.