Как называется команда./ в Linux?

#linux #process #command #cpu #kill

#linux #процесс #команда #процессор #убить

Вопрос:

Я использую следующий скрипт, полученный отсюда, для уничтожения процессов с высокой загрузкой процессора:

 #!/bin/bash

# tries to kill process with highest CPU load
# (if it is part of a specified list of troublemakers)

TROUBLEMAKERS="java Rscript"


sleep 1 # wait a few seconds (just as a precaution)

TOPPROCESS=$(top -b -n 1 | sed 1,6d | sed -n 2p)
TOPPID=$(echo "$TOPPROCESS" | awk '{print $1}')
TOPNAME=$(echo "$TOPPROCESS" | awk '{print $12}')

if [[ "$TROUBLEMAKERS" == *"$TOPNAME"* ]]
  then
      echo "Cause of high CPU load: "$TOPNAME" ("$TOPPID")"
      echo "In troublemaker list. Killing..."
      kill -9 $TOPPID
  else
      echo "Cause of high CPU load: "$TOPNAME" ("$TOPPID")"
      echo "Not in troublemaker list. Exiting..."
      exit 1
fi

exit 0
  

Как видно, TROUBLEMAKERS содержит список процессов, которые могут вызвать высокую загрузку процессора. Например, если я выполню команду java myfile , и эта команда загрузит процессор, он будет уничтожен.

Теперь, если я выполню ./anotherfile , какое имя процесса мне нужно ввести TROUBLEMAKERS , чтобы команды, содержащие ./ с высокой загрузкой процессора, были завершены?

Ввод TROUBLEMAKERS="java Rscript ./" не работает.

Комментарии:

1. ./ это не команда, это просто путь к каталогу (try ls -ld ./ ) и в основном эквивалентно $PWD/ . Если вы находитесь в /home/me , то ./ ссылается на /home/me и ./anotherfile ссылается на /home/me/anotherfile . Люди пишут ./file , потому что это самый короткий способ обратиться к файлу в текущем каталоге, когда вы хотите выполнить определенный файл вместо команды в вашем $PATH .

2. @thatotherguy 1 for ./ не является командой

Ответ №1:

вы могли бы попробовать, kill -9 < pid# > , это обычно убивает процесс независимо от того, какие переменные.

Комментарии:

1. это если я даже отдаленно понимаю вашу ситуацию XD

2. Эта команда уже есть в скрипте. Мне нужен способ получить список pid, которые были запущены, ./ есть ли альтернативный способ запуска скрипта, кроме ./myscript ?

3. нет, если вы только что не попытались использовать kill 0 для пинга, а затем удалить его после его повторного использования.