Как определить PID моей программы на Python, если запущено более одной программы на Python?
У меня в системе работает две программы на python, скажем, они называются программными x и программа y,
Я хочу получить pid программы y, но нет x для моего сценария bash. Когда используешь pgrep pythonЯ достаю их обоих и не знаю, что есть что.
Любые идеи, как я могу сказать разницу между двумя в сценарии Bash?
1 ответ
Решение
Вы можете сопоставить список аргументов, используя -f переключиться на pgrep (пытаться man pgrep читать больше).
pgrep -f x
должен уступать только программе x а также
pgrep -f y
соответственно только программа y,
В качестве альтернативы, если x а также y не достаточно уникальны и заканчиваются в слишком много строк, вы можете использовать ps а также grep иметь больше возможностей
ps ax | grep 'python x' | grep -v grep | awk '{print $1}'
Это будет
- перечислить все соответствующие процессы
- grep для тех с
python xв этом. Здесь вам может понадобиться добавить спецификатор пути, напримерpython ./path/to/x - удалить саму команду grep из списка совпадающих процессов
- печатать только первый столбец, который является pid.