Подтвердить что ты не робот

Как получить PID процесса, указав имя процесса и сохраните его в переменной для дальнейшего использования?

Используя команду "ucbps", я могу получить все PID

 $ ucbps

   Userid     PID     CPU %  Mem %  FD Used   Server                  Port
   =========================================================================

   512        5783    2.50   16.30  350       managed1_adrrtwls02     61001
   512        8896    2.70   21.10  393       admin_adrrtwls02        61000
   512        9053    2.70   17.10  351       managed2_adrrtwls02     61002

Я хочу сделать это так, но не знаю, как это сделать

  • variable = get pid процесса по имени процесса.
  • Затем используйте эту команду kill -9.
4b9b3361

Ответ 1

Если вы хотите убить -9 на основе строки (вы можете сначала попытаться убить ее), вы можете сделать что-то вроде этого:

ps axf | grep <process name> | grep -v grep | awk '{print "kill -9 " $1}'

Это покажет вам, что вы собираетесь убить (очень, очень важно) и просто передайте его на sh, когда придет время:

ps axf | grep <process name> | grep -v grep | awk '{print "kill -9 " $1}' | sh

Ответ 2

pids=$(pgrep <name>)

вы получите pids всех процессов с заданным именем. Чтобы убить их всех, используйте

kill -9 $pids

Не использовать переменную и напрямую убивать все процессы с заданной проблемой имени

pkill -9 <name>

Ответ 3

В одной строке...

pgrep -f process_name | xargs kill -9

Ответ 4

Другая возможность - использовать pidof, как правило, с большинством дистрибутивов. Он вернет вам PID данного процесса, используя его имя.

pidof process_name

Таким образом, вы можете сохранить эту информацию в переменной и выполнить kill -9 на ней.

#!/bin/bash
pid=`pidof process_name`
kill -9 $pid

Ответ 5

используйте grep [n] ame, чтобы удалить это имя grep -v, это первое... Sec, используя xargs в том, как это происходит, неправильно для rnu, что бы вы ни использовали, - я (интерактивный режим), иначе у вас могут возникнуть проблемы с командой.

ps axf | grep | grep -v grep | awk '{print "kill -9" $1}'? ps aux | grep [n] ame | awk '{print "kill -9" $2}'? разве это не лучше?