strace
? En utilisant tmux
!On va avoir deux panneaux:
strace
Ne pas oublier que l’on peut rechercher dans tout ce qui est affiché dans un panneau avec tmux
…
#!/bin/bash
TMPDIR=/tmp
FIFODIR=$(mktemp -p "${TMPDIR:-.}" -d strace-XXXX) || exit 1
FIFOPATH=$FIFODIR/fifo
mkfifo "$FIFOPATH" || { rmdir "$TMPDIR"; exit 1; }
COMMAND=$1
shift
ARGS=$@
PANE_ID=$(tmux if-shell "[ $(($(tmux display -p '8*#{pane_width}-20*#{pane_height}'))) -lt 0 ]" "splitw -v -d -c '#{pane_current_path}' -P -F '#{pane_id}' cat $FIFOPATH" "splitw -h -d -c '#{pane_current_path}' -P -F '#{pane_id}' cat $FIFOPATH")
tmux set-option -t $PANE_ID -p @mytitle "strace:$COMMAND"
tmux set-option -t $PANE_ID -p remain-on-exit on
strace $COMMAND $ARGS 2> $FIFOPATH
Ainsi, l’outil strace
envoi sa sortie sur le canal stderr
qui est lui-même renvoyé vers une fifo
qui est ensuite affichée dans un panneau tmux
…