pkill -P $ ID funcionando enquanto mata - - $ ID não

1

Eu estava brincando com a criação e a eliminação de grupos de processos no linux (ubuntu)

Eu estou tentando matar um grupo de processos e estou sendo enlouquecido pelo fato de que pkill -P $ ID funciona enquanto mata - - $ ID não. Em situações diferentes, esse script mata - - $ ID funciona como esperado e mata o processo e o subprocesso, mas nessa situação ele relata o processo não encontrado enquanto pkill -P mata o grupo como esperado.

Por que o pkill está funcionando e não mata?

file="${@:1:1}"
params="${@:2}"

echo $file 
echo $params


while true ; do
  echo +Master $BASHPID

  (
    echo ++Slave $BASHPID

    running=''
    stat=''

          while true; do
            echo RUNNING $running
            echo +++Cycle $BASHPID
            sleep 1
            new_stat="'stat --printf='%Y' "$file"'"
            ! [ "$stat" = "$new_stat" ] && {
# HERE IS MY ISSUE I DO NOT UNDERSTAND WHY kill -- -"$running" reports process not found . Especially when doing ps f clearly shows both the proper hierarchy and that the PID is as expected . 
              kill -0 "$running"   && pkill -TERM -P "$running"
              stat="$new_stat"
              echo CHANGE
              ( /bin/bash "$file" ${params[@]} ) &
              running=$!
            }

          done  &
          wait

    echo Slave/Cycle  clear 
  ) &
  wait

done


trap "-" EXIT

#stat="'ls'"

executando o arquivo

#!/bin/bash

echo ++++sub $BASHPID

(
  while true; do 
    echo +++++tick  $BASHPID
    sleep 5
  done 
) &

wait

echo SUB/tick clear
    
por Prospero 18.12.2014 / 09:11

0 respostas