При уничтожении процесса с помощью kill -9 $PID &>/dev/null
в скрипте сообщение все еще выводится на терминал после завершения следующей команды. Как вы остановите это поведение?
Например
while true; do
/usr/bin/dostuff -a -b -c
PID=$(pidof -o %PPID /usr/bin/dostuff)
sleep 1;
kill -KILL $PID &>/dev/null
echo "hello"
done
напечатает что-то вроде
hello
./my-cript.sh: line 12: 7134 Killed
/usr/bin/dostuff -a -b -c
Когда я только хочу напечатать "привет"
РЕДАКТИРОВАТЬ: чистое решение состоит в том, чтобы либо запустить программу в подоболочке, либо отказаться от нее.
#SOLUTION
while true; do
/usr/bin/dostuff -a -b -c &
disown
PID=$!
sleep 1;
kill -KILL $PID &>/dev/null
echo "hello"
done