pkill -P $ID は終了時に機能します。 - -$IDは機能しません。

pkill -P $ID は終了時に機能します。 - -$IDは機能しません。

Linux(Ubuntu)でプロセスグループを作成して終了しようとしています。

プロセスグループを終了しようとしていますが、pkill -P $ IDは機能しますが、Kill -- - $ IDは機能しないという事実のために狂っているようです。それ以外の場合、このスクリプトKill --- $ IDは期待どおりに機能し、プロセスと子プロセスを終了しますが、この場合はプロセスが見つからないと報告しますが、pkill -Pは期待通りにグループを終了します。

pkillは機能しますが、killは機能しない理由

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`"

ファイルの実行

#!/bin/bash

echo ++++sub $BASHPID

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

wait

echo SUB/tick clear

ベストアンサー1

おすすめ記事