Przeglądaj źródła

Filter out the script from the PID list when using -j

master
JustAnotherArchivist 6 lat temu
rodzic
commit
290a4bf518
1 zmienionych plików z 6 dodań i 0 usunięć
  1. +6
    -0
      kill-wpull-connections

+ 6
- 0
kill-wpull-connections Wyświetl plik

@@ -22,6 +22,12 @@ then
elif [[ "$1" == '-j' ]]
then
pids=($(pgrep --full "wpull.*$2"))

# Filter out this script; this is more complicated than it should be because you can't simply `| grep -v` the PID of this script. When you do that, you create a subshell, which you'd need to filter out as well.
# Instead, we convert the list to a string of the form " 1 2 3 ", then replace " PID " by a single space, and finally convert it back to an array for counting the remaining PIDs.
pids=" ${pids//$'\n'/ } "
pids=(${pids/ $$ / })

if [[ ${#pids[@]} -ne 1 ]]
then
echo "Error: not exactly one process found for '$2'"


Ładowanie…
Anuluj
Zapisz