Определите то, что JAVA-приложения выполняют в имени процесса Java

[115146]Во-первых, вы не можете конвертировать адреса, чтобы они имели только 8 цифр. Адреса памяти могут иметь и будут иметь гораздо большее значение, чем может быть представлено только 8 цифрами.

$ pkgfile --search rc-local.service
community/initscripts-systemd

Причина, по которой адреса памяти представлены в [115526]/proc/pid/maps[115527] в том виде, в каком они есть, находится на строке 283 в [115528]fs/proc/task_mmu. c[115529] (или [115530]task_nommu.c[115531]) в недавнем дереве исходных текстов кернела:

Это сводится к тому, что в любом адресе памяти, который имеет шестнадцатеричное представление меньше 8 цифр, будут добавлены лидирующие нули. Любое значение больше этого будет представлено как есть, а не усечено до 8 цифр. Именно так работает форматирование в стиле printf [115532]printk()[115533].

Что же теперь делать из всего этого? Наверное, вам стоит подумать о том, зачем нужно усекать адреса памяти до 8 цифр. Как вы думаете, в чем польза от этого?[115153]

2
01.04.2014, 02:57
2 ответа

Вы можете использовать команду jps :

jps | grep "[0-9][0-9]* js-test-driver"

Однако это может не называться js-test-driver , это может быть что-то вроде js-test- driver.jar . Попробуйте сначала посмотреть на вывод только jps .

1
27.01.2020, 22:22

С помощью procps-ng ps (должен быть стандартным в большинстве систем Linux) вы можете использовать -C параметр, чтобы ограничить вывод командами с определенным именем. Скорее всего, js-test-driver будет где-то в аргументах команды. Вы можете перечислить все аргументы для запуска java процессов с помощью:

ps -C java -o args=

Чтобы проверить js-test-driver в любом месте списка аргументов, вы можете сделать:

ps -C java -o args= | grep -q js-test-driver &&
  echo 'js-test-driver running'

Вы также можете используйте pgrep , эквивалент приведенного выше будет:

pgrep -f js-test-driver >/dev/null && echo 'js-test-driver running'

Обратите внимание, что если вы проверяете, запущен ли процесс, чтобы избежать одновременного запуска двух сценариев, есть еще надежные подходы, позволяющие избежать возможных условий гонки. См. Мой ответ здесь для примера подхода с использованием файла блокировки.

0
27.01.2020, 22:22

Теги

Похожие вопросы